ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Effective C++...21
    일지 2022. 6. 23. 07:38

    데이터 멤버가 선언될 곳은 private 영역임을 명심하자

    멤버 변수를 private으로 사용할 때의 장점

    세 가지의 장점이 존재한다.

    • 문법적 일관성 어떤 건 멤버 변수를 직접 호출하고 어떤 건 함수를 사용하는 대신 일괄적으로 함수를 사용하도록 할 수 있다.
    • 접근성의 정교한 제어 가능 읽기 전용, 읽기 쓰기 모두 가능, 쓰기 전용 등으로 접근 권한을 제어할 수 있다.
    • 캡슐화를 통한 코드 제어 다른 코드에 영향을 주지 않고 내부 구조를 수정할 수 있다.

     

    멤버 변수는 protected도 안 된다

    public과 달리 protected는 조금 더 안전하다고 생각하지만 해당 변수를 삭제하는 상황을 가정하면 그렇지도 않다는 것을 알 수 있다.

    • public 변수를 삭제하면 해당 변수를 사용하는 모든 코드에 영향을 주게 될 것이다.
    • protected 변수를 삭제하면 해당 클래스를 상속받는 모든 클래스에 영향을 주게 될 것이다.

    즉, 어떤 경우라도 피해를 파악하고 대응하기 쉽지 않다.

     

    ※ 캡슐화 관점에서 의미 있는 접근 수준은 private과 private이 아닌 나머지로 구분될 것이다.

     

    댓글

Designed by Tistory.