Finalize1 이펙티브 자바 - 종료자 사용을 피하라 - 이 글은 Effective Java 를 기반으로 작성되었습니다. - 종료자 Java 의 종료자(finalize)는 예측 불가능하며 대체로 위험하고 일반적인 상황에서는 불필요 하다. C++ 소멸자의 경우 메모리 반환과 자원반환의 일반적인 수단이지만, Java 의 경우 GC가 메모리를 정리해주고 자원반환과 같은 경우에도 try-finally 구문을 사용하기 때문에 정말 특수한 상황이 아니면 종료자를 사용할 필요가 없다. - 종료자의 단점 종료자의 첫번째 단점은 예측이 되지 않는다는것이다. 즉시 실행이 보장되지 않는데 모든 참조가 사라지고 난 후 종료자가 실행되기까지에는 어느정도 간격이 존재한다. 그래서 특히 time-critical 한 작업에는 절대로 종료자는 사용하면 안된다. 만약 file close .. 2021. 9. 22. 이전 1 다음