데이터 멤버는 private(effective c++ 22)

2015. 8. 25. 16:37프로그래밍/Effective C++

728x90
728x90

Public이면 왜 안 되는가? WHY?

문법적 일관성 – 항목 18 참조

데이터 멤버가 public이 아니라면, 외부에서 접근할 수 있는 유일한 수단은 멤버 함수

함수를 사용하면 데이터 멤버의 접근성에 대해 정교한 제어를 할 수 있다.

캡슐화(encapsulation)


정리 

데이터 멤버는 private 멤버로 선언하자. 

- 문법적으로 일관성 있는 데이터 접근 통로를 제공할 수 있다.

- 세밀한 접근 제어도 가능

- 클래스의 불변속성을 강화

- 내부 구현의 융통성 발휘


protected는 public보다 더 많이 ‘보호’ 받고 있는 것이 절대로 아니다.


728x90
반응형