프로그래밍/Effective C++
데이터 멤버는 private(effective c++ 22)
엘레멘탈키스
2015. 8. 25. 16:37
Public이면 왜 안 되는가? WHY?
문법적 일관성 – 항목 18 참조
데이터 멤버가 public이 아니라면, 외부에서 접근할 수 있는 유일한 수단은 멤버 함수
함수를 사용하면 데이터 멤버의 접근성에 대해 정교한 제어를 할 수 있다.
캡슐화(encapsulation)
정리
데이터 멤버는 private 멤버로 선언하자.
- 문법적으로 일관성 있는 데이터 접근 통로를 제공할 수 있다.
- 세밀한 접근 제어도 가능
- 클래스의 불변속성을 강화
- 내부 구현의 융통성 발휘
protected는 public보다 더 많이 ‘보호’ 받고 있는 것이 절대로 아니다.
728x90
반응형