자격증/OCJP_ExamA
QUESTION 46
IT grow.
2018. 7. 8. 18:44
반응형
QUESTION 46
Which statement is true?
A. A class's finalize() method CANNOT be invoked explicitly.
B. super.finalize() is called implicitly by any overriding finalize() method.
C. The finalize() method for a given object is called no more than once by the garbage collector.
D. The order in which finalize() is called on two objects is based on the order in which the two objects became finalizable.
Solution : C
finalize 메소드란 ??
자바의 모든 클래스는 최상위 클래스 Object클래스의 메소드를 포함하고 있으며 finalize 메소드는 그 메소드 중 하나이다.
이 메소드는 자바 가상 머신이 리소스 누수를 방지하기 위해 실행하는 가비지 컬렉션이 수행될 때
더 이상 사용 하지 않는 자원에 대한 정리 작업을 진행하기 위해 호출되는 종료자 메소드 이다.
자바는 자동으로 상위 클래스의 종료자가 호출되지 않기 때문에 super.finalize();를 통해서 상위 클래스의 종료자를 호출해야 한다.
반응형