Notice
Recent Posts
Recent Comments
Link
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

ki-sd 님의 블로그

[2026-03-26] 예외 처리 심화와 finally 블록의 자원 반납 본문

JavaStudy

[2026-03-26] 예외 처리 심화와 finally 블록의 자원 반납

ki-sd 2026. 4. 17. 21:27

예외 처리의 심화 단계로, 시스템 외부의 자원을 빌려 썼을 때 발생할 수 있는 메모리 누수를 방지하는 책임감을 배웠다.

 

1. 시스템 리소스 관리의 중요성

  • 자바 프로그램이 내부 메모리만 사용할 때는 가비지 컬렉터(GC)가 알아서 청소를 해주지만, 파일 시스템을 열어 읽거나(I/O), 데이터베이스와 연결(Connection)을 맺는 등 외부 자원을 사용할 때는 GC가 이를 즉각적으로 회수하지 못한다.
  • 다 쓴 자원을 명시적으로 닫아주지(close()) 않으면, 시스템 자원이 고갈되어 결국 서버가 다운되는 치명적인 문제가 발생할 수 있다.

2. finally 블록의 강력한 실행 보장

  • 예외가 발생하든, 발생하지 않든, 심지어 try나 catch 블록 내부에 return문이 있어도 무조건 마지막에 실행됨을 보장하는 블록이 바로 finally다.
  • 외부 파일이나 네트워크 스트림을 열었을 때, finally 블록 내부에 close() 메서드를 작성함으로써 어떤 예외 상황에서도 안전하게 자원을 운영체제에 반납할 수 있는 로직을 실습했다.