[Java] try-with-resources를 사용해야하는 이유

Ceing·2024년 8월 19일

Java

목록 보기
8/8

개요

  • Java7부터는 기존의 try-catch-finally를 개선한 try-with-resources가 도입됨에 따라 왜 try-catch-finally가 아닌 try-with-resources를 사용해야하는지 알아볼 것임


try-catch-finally의 문제점

  • Connection과 파일 입출력 처리와 같이 외부 스트림을 통해 상호 작용을 할 경우 외부 스트림을 열었으면 다시 닫아야 하기에 직접 finally 영역에 close()로 닫는 작업을 해줘야했었음
  • 그런데 직접 close()를 호출하면 코드가 지저분해지거나 실수로 혹은 에러로 자원을 반납하지 못하는 경우가 발생함


해결책 : try-with-resources

  • 위와 같은 문제들로 인해 자바는 Java7부터 개발자가 직접 close()를 하지 않고 자동으로 자원을 반납해주는 try - with - resources 문법을 추가
  • AutoCloseable 인터페이스를 구현하는 자원에 대해 try - with - resources를 적용 가능
  • 즉 파일 입출력 및 외부 라이브러리와의 작업을 할 경우 try-with -resources를 쓰자
profile
이유에 대해 끊임없이 생각하고 고민하는 개발자

0개의 댓글