가비지 컬렉터는 외부에서 객체를 참조하는 변수가 없을 때 가비지로 판단하고 삭제합니다.
메서드가 끝나는 순간 객체를 참조하는 것이 없기에 없애버리기에
가비지 컬렉터에 의해서 bufferedreader가 정리되긴 하지만,
가비지 컬렉터로 정리되기전에 bufferedreader가 연속으로 사용되면 정상적으로 작동하지 않을 수 있습니다.
특히, BufferedWriter의 경우가 그럴 수 있다고 하는군요.
try-with-resource 를 이용하면 깔끔하게 자원을 해제할 수 있습니다.
try() 안에 선언된 객체들을 try 문이 끝날 때 자동으로 해제해주는 기능을 합니다.
다만 모든 객체들에 대해서 해당되는 것은 아니고, 인터페이스 AutoCloseable 을 구현한 객체만 해당됩니다.
'이론 > Java' 카테고리의 다른 글
원시 타입과 참조 타입 (0) | 2022.11.22 |
---|---|
Checked exception 과 Unchecked exception (0) | 2022.11.22 |
상수와 static final (0) | 2022.11.22 |
final 키워드 헷갈리는 부분 정리 (0) | 2021.11.11 |
java.lang 패키지 / 오토 박싱/ 오토 언박싱 (0) | 2021.07.28 |