멤버 접근 연산자는 왼쪽 값이 객체인지 포인터인지로 고른다

같은 Person 객체를 다루더라도 왼쪽 표현식이 객체, 참조자, 포인터인지에 따라 점과 화살표를 구분합니다.

왼쪽 값의 형태

객체
Person p1(...); p1.introduce();
값 자체가 객체이면 점 연산자를 씁니다.
참조자
Person& ref = p1; ref.setAge(26);
참조자는 객체의 별명처럼 동작하므로 점을 씁니다.
포인터
Person* p3 = new Person(...); p3->introduce();
주소를 담고 있으면 화살표로 역참조와 접근을 함께 표현합니다.
p3->setAge(23)
=
(*p3).setAge(23)
규칙은 간단합니다. 왼쪽이 객체나 참조자면 점, 포인터면 화살표입니다. delete 이후 포인터는 nullptr로 바꿔 해제된 객체 접근을 막습니다.