finalize() 메소드는 미리 정의된 개체 의 메소드 클래스이며 보호 . finalize()의 목적 정리 코드 를 포함하도록 개체에 대해 메서드를 재정의할 수 있습니다. 또는 시스템 리소스 폐기 개체가 가비지 수집되기 전에 수행할 수 있습니다. finalize() 를 재정의하는 경우 메소드를 사용하는 경우 finalize()를 호출하는 것은 우리의 책임입니다. 방법을 명시적으로. finalize() 메소드는 한 번만 호출할 수 있습니다. JVM 또는 주어진 객체에 의해.
구문
protected void finalize() throws Throwable
예시
public class FinalizeMethodTest {
protected void finalize() throws Throwable {
try {
System.out.println("Calling finalize() method of FinalizeMethodTest class");
} catch(Throwable th) {
throw th;
} finally {
System.out.println("Calling finalize() method of Object class");
super.finalize();
}
}
public static void main(String[] args) throws Throwable {
FinalizeMethodTest test = new FinalizeMethodTest();
String str = "finalize() method in Java";
str = null;
System.out.println(str);
test.finalize();
}
} 출력
null Calling finalize() method of FinalizeMethodTest class Calling finalize() method of Object class