Java 프로그래밍 05 : Garbage Collection(GC)
·
프로그래밍 언어/자바(Java)
나는 C++을 사용할 때는 소멸자(Destructor)를 정의하거나 상속 받은 것을 재정의(override)해서 쓴 적이 있다. 그러나 Java로 개발하면서 생성자는 잘 써도 소멸자는 사용해 본 기억이 없었다.  처음 자바를 배웠을 때는 별 생각이 없었지만, 후에 알고 보니 자바는 가비지 컬렉션(Garbage Collectotion, GC)가 자동으로 쓰지 않는 객체를 회수하기 때문이었다. 문득, 한 가지 궁금한 점이 생겼다. C++의 경우 객체가 delete되거나, 스코프를 벗어나면 소멸자가 호출되고, 그 다음에 객체가 소멸된다. 그러나 자바는 소멸자가 존재하지 않는다. 그렇다면 Garbage Collection은 객체의 사용 종료 시점을 어떻게 판별하는 걸까?  이를 알기 위해서는 Garbage Co..