자바 소멸자 finalize예제
꽁스짱
JAVA
0
1711
2021.02.16 00:58
Java에서의 소멸자
자바에서는 C++에서와 같이 소멸자를 만들 수는 없습니다. 다만 객체가 GC에 의해 메모리에서 해제 될 때 finalize() 메소드를 호출하도록 되어 있으므로 객체가 메모리에서 해제 되기 직전에 무언가 “유언”이 필요하다면 이 부분에 어떤 작업 내용을 기술하면 됩니다.
(이건 닷넷의 경우도 거의 유사하니 이 부분은 C#의 “객체와 메모리” 강좌를 참고 하시기 바랍니다.)
아래의 예제를 참고 하세요~
public class Destructor {
public void finalize() {
System.out.println("객체의 마지막 유언... ");
}
public static void main(String[] args) {
Destructor d = new Destructor();
d = null; //객체에 대한 참조를 끊어 가비지컬렉터에 의해 제거 대상이 되게 합니다.
System.gc(); //가비지컬렉터를 호출 합니다.
}
}