finalize 메서드를 사용했을 때의 장단점


[ 예제 11-12 ] 에서처럼 finalize 메서드를 이용하여 시스템 자원을 해제하는 것과 [ 예제 11-11 ] 에서처럼 일반 메서드를 이용하여 시스템 자원을 해제하는 것에는 장점과 단점이 공존합니다. 어떤 장점과 단점이 있을지 생각해 보십시오.





 방식  장점  단점
 finalize 메서드  명시적으로 메서드를 호출하지 않아도 자원이 해제된다.

 원하는 시점에 자원을 해제할 수 없다.

 가비지 컬렉터가 호출되기 전까지는 자원이 남아 있다.

 일반 메서드  원하는 시점에 자원을 해제할 수 있다.

 메서드를 명시적으로 호출해야 하는 귀찮음이 있다.
 실수로 메서드를 호출하지 않으면 자원이 해제되지 않는다.



+ Recent posts