규칙71 이펙티브 자바 2장 규칙 7. 종료자 사용을 피하라 Effective Java 2장 객체의 생성과 삭제 규칙 7. 종료자 사용을 피하라 종료자(finalize)를 사용한다면? 예측불가능하며 불필요함. 종료자의 경우 수행되기 까지 시간이 걸릴 수 있기 때문에 되도록 긴급한 작업은 종료자 안에서 처리하지 않는 것이 좋음. 종료자로 인해 객체 메모리 반환이 지연되는 경우도 생길 수 있음. (ex) 파일을 종료자 안에서 닫을 때 치명적임. JVM은 종료자를 천천히 실행하므로 열린 상태의 파일이 많이 남아있을 수 있음. 종료자를 사용하면 성능면에서도 심각하게 떨어질 수 있음. 데이터베이스와 같은 공유자원에 대한 중요 상태 정보들을 종료자로 갱신하면 안됌. 대안 종료자보단, 명시적 종료메서드를 사용(객체 종료를 보장하기 위해 보통 try-catch문과 자주 쓰임.).. 2021. 2. 17. 이전 1 다음