Try with resources

JDK1.7 에는 AutoCloseable 인터페이스가 추가됐다.

/**
 * @author Josh Bloch
 * @since 1.7
 */
public interface AutoCloseable {
    void close() throws Exception;
}

 

인터페이스 추가와 함께 try절에 ()가 들어갈 수 있게 됐다.

public static void main(String[] args) {
    try(FileInputStream fis = new FileInputStream("")){
         
    }catch(IOException e){

    }
}

이런식으로 try(){} 형태로 사용이 가능하며 ()안에 들어올 수 있는건 AutoCloseable 구현체 뿐이다.

이런 문법을 try with resources 라고 부른다.

 

장점은 다음과 같다.

  • try catch 절이 종료되면서 자동으로 close() 메서드를 호출해준다.
  • 코드의 길이를 현저히 줄이면서 가독성을 높인다.

 

try() 구문 안에서 자원을 생성하면, 알아서 close() 를 호출해준다.

'Computer Science > Languages' 카테고리의 다른 글

OOP 5대 원칙 : SOLID  (1) 2019.09.03
[javascript] Hoisting 호이스팅이란  (1) 2019.07.11
java tip  (0) 2019.02.18
[java] 쓰레드(Thread)  (0) 2019.01.24
[java] 예외처리  (2) 2019.01.24

+ Recent posts