멤버 배치는 “누가 바꾸고 무엇을 보장하는가”로 정한다
데이터가 어디에 저장되는지보다, 변경 책임과 읽기 약속을 먼저 나누면 멤버 변수·함수·const·static의 자리가 정해집니다.
01객체마다 다른가그렇다면 멤버 변수 후보입니다.
02상태를 바꾸는가검증 규칙을 가진 멤버 함수로 둡니다.
03읽기만 하는가const 멤버 함수로 약속을 고정합니다.
04클래스 공통인가객체 상태와 섞지 말고 static을 검토합니다.
private 변수직접 공개하면 안 되는 상태를 둡니다.
public 함수검증과 의미 있는 동작 이름을 제공합니다.
const 함수조회 함수가 상태를 바꾸지 않음을 보장합니다.
static 멤버객체별 상태가 아닌 공유 기준만 둡니다.
리팩터 기준: 외부에서 멤버 변수를 직접 바꾸는 코드가 늘어나면, 변수를 숨기고 동작 함수 이름으로 의도를 드러냅니다.