JAVA
[JAVA] try-with-resources를 사용해서 리소스 누수를 방지하자!
깃짱
2023. 9. 29. 21:00
반응형
💋 try-with-resources
✔️ 개념
try-with-resources
구문은 Java 7부터 도입된 기능으로, 리소스를 효율적으로 사용하고 자동으로 닫아주는 역할을 합니다.
주로 입출력 스트림, 데이터베이스 연결, 네트워크 연결 등 자원을 사용하는 경우에 유용하게 활용됩니다.
✔️ 사용방법
try-with-resources
구문은 다음과 같은 형식으로 사용됩니다:
try (리소스를 선언 및 초기화) {
// 리소스를 사용하는 코드 작성
} catch (예외 타입 변수) {
// 예외 처리
}
여기서 "리소스"는 AutoCloseable
인터페이스를 구현한 객체를 말합니다.
AutoCloseable
인터페이스는 close()
메소드를 정의하고 있으며, 이 메소드를 호출하여 리소스를 닫을 수 있습니다.
✔️ 특징
리소스 선언과 초기화
: try 블록 진입 시 리소스를 선언하고 초기화합니다. 이때 세미콜론으로 여러 개의 리소스를 선언할 수 있습니다.리소스 사용
: try 블록 내에서 선언한 리소스를 사용하는 코드를 작성합니다.리소스 자동 종료
: try 블록을 벗어나면 자동으로 선언한 리소스의close()
메소드가 호출됩니다. 이를 통해 명시적으로close()
메소드를 호출하지 않아도 자원 누수를 방지할 수 있습니다.예외 처리
: catch 블록을 통해 예외를 처리할 수 있습니다.
✔️ 사용 예시
다음은 입출력 스트림을 사용하는 예제입니다:
try (FileInputStream fis = new FileInputStream("file.txt");
FileOutputStream fos = new FileOutputStream("output.txt")) {
// 파일을 읽고 쓰는 코드 작성
} catch (IOException e) {
// 예외 처리
}
위의 예제에서 FileInputStream
과 FileOutputStream
은 AutoCloseable
인터페이스를 구현하고 있으므로 try-with-resources
구문을 사용할 수 있습니다. try 블록이 종료되면 각각의 스트림에 대해 close()
메소드가 자동으로 호출되어 파일을 닫아줍니다.
try-with-resources
구문을 사용하면 자원을 깔끔하게 관리하고 예외 처리를 간편하게 할 수 있습니다.
도움이 되었다면, 공감/댓글을 달아주면 깃짱에게 큰 힘이 됩니다!🌟
반응형