생성 방식 선택 기준

객체 생성 수명 책임

클래스 정의와 객체 생성은 분리해서 읽습니다. 정의는 타입의 약속이고, 생성은 실제 메모리와 소멸 책임을 결정하는 순간입니다.

Person.h

외부가 볼 선언

멤버 변수, 생성자, 멤버 함수의 모양을 약속합니다. 여러 파일이 같은 선언을 공유합니다.

Person.cpp

실제 동작 구현

Person::으로 어느 클래스의 함수인지 표시하고, 함수 몸체를 작성합니다.

스택 경로
생성

Person p("Kim", 20);처럼 스코프 안에 바로 만듭니다.

접근

객체와 참조자는 점 연산자 .로 멤버를 호출합니다.

소멸

스코프를 벗어나면 자동으로 정리됩니다.

힙 경로
생성

new Person(...)은 주소를 돌려주므로 포인터가 필요합니다.

접근

포인터는 화살표 ->를 사용하며 (*p).member와 같습니다.

소멸

delete 또는 delete[]까지 호출해야 책임이 끝납니다.