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