상세 컨텐츠

본문 제목

Try-With-Resources

스프링

by R4MeN 2024. 7. 1. 00:08

본문

Try-With-Resources 정의

Try-With-Resources는 Java 7부터 도입된 구문으로, 자동으로 리소스를 닫아주는 try문임. 리소스를 명시적으로 닫아야 하는 번거로움을 줄이고, 리소스 누수를 방지하기 위해 사용됨

Try-With-Resources의 특징

  • 자동 리소스 관리: try 블록이 끝나면 자동으로 리소스를 닫아줌
  • 리소스 누수 방지: 명시적으로 리소스를 닫지 않아도 되므로 리소스 누수를 방지할 수 있음
  • 간결한 코드: 명시적으로 리소스를 닫는 코드가 필요 없으므로 코드가 간결해짐

Try-With-Resources 사용 방법

  • 사용할 리소스 선언: try 블록 내에서 사용할 리소스를 선언. 리소스는 java.lang.AutoCloseable 또는 java.io.Closeable 인터페이스를 구현해야 함
  • 자동 닫힘: try 블록이 종료되면 리소스가 자동으로 닫힘. 정상 종료든 예외가 발생하든 상관없이 실행됨

Try-With-Resources 장점

  • 편리함: 리소스를 명시적으로 닫을 필요가 없어 편리함
  • 안정성: 예외가 발생하더라도 리소스가 확실히 닫히므로 안정성이 높아짐
  • 가독성: 리소스를 닫는 코드가 필요 없으므로 코드의 가독성이 향상됨

Try-With-Resources의 예시

try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
} catch (IOException e) {
    e.printStackTrace();
}

위 예시에서 BufferedReader는 AutoCloseable을 구현하고 있으며, try-with-resources 구문을 통해 자동으로 닫힘

Try-With-Resources의 한계점

  • 제한된 적용 대상: AutoCloseable 또는 Closeable 인터페이스를 구현한 리소스에만 적용 가능
  • 구 버전 호환성: Java 7 이전 버전에서는 사용할 수 없음

사용 시 유의사항

  • 멀티 리소스 선언: 여러 개의 리소스를 선언할 경우 세미콜론(;)으로 구분하여 선언 가능
  • 자동 닫힘 순서: 여러 리소스가 선언된 경우, 선언된 순서와 반대로 닫힘

Try-With-Resources는 리소스 관리가 필요한 상황에서 코드의 간결성과 안정성을 높이는 데 매우 유용한 구문임. 이를 통해 리소스 누수를 방지하고 예외 처리를 간편하게 할 수 있음

'스프링' 카테고리의 다른 글

DBC Driver Manager  (0) 2024.07.01
AOP (Aspect-Oriented Programming)  (0) 2024.06.16
Given-When-Then 패턴  (0) 2024.06.13
Logout API  (0) 2024.06.07
CascadeType  (0) 2024.06.07

관련글 더보기