본문 바로가기

CS/JAVA4

try-catch-finally, try-catch-resources, AutoCloseable Java 7 이전 -> Java 7 try-catch -> try-with-resources try-catch-finally 사용 후에 반납해주어야 하는 자원들은 Closable 인터페이스를 구현하고 있으며, 사용 후에 close 메소드를 호출해줘야 한다. null 검사와 함께 직접 호출해야 한다. > 자원 반납에 의해 코드가 복잡해짐 > 작업이 번거로움 > 실수나 에러로 자원을 반납하지 못하는 경우 발생 > 에러 스택 트레이스가 누락되어 디버깅이 어렵다. -> try에서 발생한 오류가 정상적으로 찍히지 않는다. try-with-resources try-catch-finally 의 단점을 보완하기 위해 Java7부터 추가되었다. 자원을 자동으로 반납해준다. AutoCloseable 인터페이스를 구현하고 .. 2022. 8. 28.
빌드란? - 빌드, 배포, 컴파일의 차이 및 빌드의 종류(ant, maven, gradle) 배포 (Deploy) 서버에 반영을 하는 것. 빌드 (Build) 소스 코드 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태(소프트웨어 산출물)로 변환하는 과정과 그 결과. 배포를 하기 위한 과정으로도 볼 수 있으며 컴파일은 이 빌드의 부분집합이라고 볼 수 있다. * 컴파일 (Compile) 소스 코드를 바이너리 코드로 변환하는 과정. * 링크 (Link) A 소스 파일에서 B 소스 파일의 메소드를 호출해 사용할 수 있도록 A와 B를 연결해주는 작업. - 정적 링크 (Static Link) : 소스코드를 컴파일해서 나온 목적 파일과 정적 라이브러리 파일을 합쳐 하나의 실행파일로 만든다. 라이브러리가 포함되어 있기 때문에 단독으로 실행할 수 있다. - 동적 링크 (Dynamic Link) : 동적 링크로 .. 2022. 8. 11.
디자인 패턴이란? 디자인 패턴이란 소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 문제들이 또 발생했을 때 재사용할 할 수 있는 훌륭한 해결책 목적 좋은 코드를 만들기 위해서 : 확장과 수정에 용이하여 설계 이후의 추가적인 유지 보수에 비용이 적게 들어가도록 한다. SOLID 원칙을 지키는 것이 기본이다. 장점 1. 개발자 간의 원활한 의사소통 2. 소프트웨어 구조 파악 용이 3. 재사용을 통한 개발 시간 단축 4. 설계 변경 요청에 대한 유연한 대처 5. 불필요한 리소스 낭비 방지 단점 1. 객체지향 설계 / 구현 위주로 사용 2. 초기 투자 비용 부담 디자인 패턴 유형 1. 생성 패턴 (Creation Pattern) - 객체의 생성에 관련된 패턴으로 객체의 생성 로직을 숨김으로써 유연성을 향상시킴 - 특정 객체가.. 2022. 7. 27.
[JAVA] JVM, JRE, JDK 란? JAVA 의 원칙 WORA(Write Once, Run Anywhere) 한 번 쓰고 모든 곳에서 실행한다. JDK, JVM, JRE 의 관계 간단명료하게 표현하면 JDK = JRE + Development Tools JRE = JVM + Library Classes JDK = JVM + Library Classess + Development Tools -> JRE => JDK를 설치하면 JRE와 JVM이 모두 설치된다! => java로 만든 프로그램을 실행하려면 JRE만 설치되어 있으면 된다. (개발도구는 필요 없다) 그럼 JVM, JRE, JDK 란? JVM (Java Virtual Machine) : 자바 가상 머신 기능 1. 자바 프로그램이 어떤 운영체제에서도 실행될 수 있게 해 준다. (WORA.. 2022. 6. 19.