객체의 생명주기 (생성, 사용, 소멸)
객체의 생명 주기는 크게 생성 사용 그리고 소멸 단계로 나눌 수 있습니다.
객체 생성 #
객체의 생명주기는 먼저 new 키워드를 사용해 객체를 생성하는 것으로 시작합니다.
이때 생성자가 호출되며, 해당 객체에 필요한 리소스가 할당됩니다.
생성된 객체는 힙 메모리 영역에 저장되며, 참조 변수를 통해 접근할 수 있습니다.
객체 사용 #
객체가 생성되고 나면, 해당 객체의 메서드를 호출하거나 필드를 이용하여 상태를 변경할 수 있습니다. 객체가 사용되는 동안 가비지 컬렉션의 대상이 되지 않습니다.
객체 소멸 #
객체가 더 이상 필요하지 않게 되면, 해당 객체를 참조하는 변수가 없게 됩니다. 그러면 가비지 컬렉터에 의해 메모리에서 제거될 수 있게 됩니다.
이는 객체의 참조 카운트가 0이 되는 시점입니다. 가비지 컬렉션은 자동으로 수행되며 개발자가 직접 제어할 수는 없습니다.
Java에서는 finalize() 메서드를 통해 객체가 메모리에서 회수되기 전에 수행할 작업을 정의할 수 없지만, 이 메서드 호출 시점은 정확히 예측할 수 없으므로 안정적인 리소스 해체에는 적합하지 않습니다.
이렇게 객체는 생성, 사용, 소멸의 생성주기를 거치며, 각 단계에서 적절한 리소스 관리와 가비지 컬렉션 처리가 필요합니다. 이를 통해 메모리 누수나 리소스 누수를 방지하고, 효율적인 시스템 운영이 가능하게 합니다.