수명 계약

생성자와 소멸자는 자원 수명표를 만든다

객체가 태어날 때 반드시 갖춰야 할 상태와 사라질 때 반드시 정리해야 할 자원을 한 흐름으로 봅니다.

init

초기화 리스트

멤버와 기반 클래스는 본문 실행 전에 이미 초기화됩니다.

ready

유효 상태

생성자가 끝난 객체는 public 함수가 기대하는 불변식을 만족해야 합니다.

cleanup

정리 책임

소멸자는 파일, 메모리, 핸들처럼 외부 자원을 놓치는지 확인합니다.

규칙

Rule of Zero

자원을 직접 들고 있지 않다면 기본 생성/복사/소멸 규칙을 우선 사용합니다.

위험 신호

raw pointer, new/delete, 소유권 복사가 보이면 복사/이동 정책을 함께 봅니다.

RAII 수명 검증

생성 실패, 복사, 이동, 예외 경로에서도 자원이 한 번만 정리되는지 확인합니다.

생성자와 소멸자는 문법 단원이 아니라 객체가 언제부터 안전하고 언제까지 책임지는지를 정하는 계약입니다.