members

멤버는 객체별 상태와 클래스 공통 상태로 나뉜다

this 포인터, const 멤버 함수, static 멤버를 함께 보면 객체마다 달라지는 값과 공유되는 값이 분리됩니다.

멤버 변수

인스턴스별 멤버 데이터

name이나 score처럼 상태를 표현하는 값은 접근 제한을 함께 정합니다.

멤버 함수

객체 상태를 읽거나 바꾸는 동작을 클래스 안에 둡니다

함수 이름만 보아도 객체가 제공하는 행동을 알 수 있어야 합니다.

const 함수

const 멤버 함수

const 객체에서도 호출할 수 있어 읽기 전용 API가 선명해집니다.

static 멤버

static 멤버

객체 수 카운트처럼 공통 데이터를 표현할 때 어울립니다.

this 현재 객체의 주소를 가리켜 멤버 이름 충돌을 풀 수 있습니다.
객체별 값 두 객체의 멤버 변수는 같은 이름이어도 서로 다른 저장 공간입니다.
공유 값 static 데이터는 모든 객체가 같은 값을 바라본다는 점을 주의합니다.