Object Lifetime

객체 수명 주기와 소멸

스택 객체는 스코프가 끝나면 자동으로 정리되고, 힙 객체는 소유권과 해제 시점을 명확히 해야 한다.

수명 주기 비교

ownership

생성

객체가 만들어지는 위치와 방식이 이후 소멸 규칙을 좌우한다.

사용

유효 범위를 벗어난 객체를 참조하면 정의되지 않은 동작으로 이어진다.

소멸

스택 객체는 자동 소멸되고 힙 자원은 소유자가 책임져야 한다.

누수 방지

스마트 포인터와 RAII로 해제 책임을 타입에 묶는다.

생성 스택인지 힙인지에 따라 소멸 책임이 정해진다.
유효 범위 스코프 밖 객체를 참조하지 않도록 사용 구간을 제한한다.
소멸 스택 객체는 스코프 종료와 함께 자동으로 정리된다.
해제 책임 힙 자원은 delete보다 RAII와 스마트 포인터로 묶는다.
소유자 추적

C++에서는 “누가 이 객체를 소유하고 언제 사라지는가”를 추적하는 것이 안전한 설계의 출발점이다.