멤버를 읽을 때는 this가 있는지, 바꾸는지, 공유인지 나눈다

일반 멤버 함수, const 멤버 함수, static 멤버는 모두 클래스 안에 있지만 객체 상태를 다루는 방식이 다릅니다.

일반 멤버 함수
this현재 객체를 가리킵니다.
변경상태를 읽고 바꿀 수 있습니다.
const 멤버 함수
this읽기 전용 객체처럼 취급됩니다.
변경논리적으로 상태를 바꾸면 안 됩니다.
static 멤버
this 없음특정 객체 없이 호출됩니다.
공유클래스 공통 상태만 다룹니다.
class Buffer { public: std::size_t size() const { return data_.size(); } void append(std::string_view chunk) { data_ += chunk; } private: std::string data_; };
파생 값저장할지 계산할지 먼저 정합니다.
const 누락읽기 함수가 const 객체에서도 호출되는지 봅니다.
공유 상태static이 테스트 순서에 의존하지 않는지 확인합니다.
정리: 객체별 상태는 멤버 변수, 상태 변경은 일반 멤버 함수, 읽기 약속은 const, 객체와 무관한 공유 기준은 static입니다.