오늘 책 다시보니 정리가 잘되서... 다시정리


정보은닉

실수했을때 알아차리기 쉽게 제한된방법으로만 접근허용

그러니까 멤버변수는 private로 

이값을 수정하는 접근하는 함수는 public으로 별도정의해서

안전한 형태로 멤버변수의 접근유도함.


그리고 이방법으로 const를 사용.


여기서const가 사용된다는건 이런뜻을 가지고있음.

"이 함수 내에선 멤버변수에 저장된 값을 변경하는것이 허용되지 않는다"


그러니까 이함수로는 지랄발광을떨어도 멤버변수의값을 변동시키지 못하게함

(그렇게 해야하는데 실수로 변동시킬수도있으니 그렇게 하지못하게 하겠다는것)


그리고 "const 함수 내에서는 const가 아닌 함수의 호출이 불가함"

이유는, const로 선언되지 않은 함수는 아무리 멤버변수의 값을 변경하지 않더라도

변경할수있는 능력이 있는 함수이기 때문임.

하여 const로 선언한 함수내에서는 내부의 함수또한 const의 꼴로만 허용하도록 하는것.



주저리주저리해도 결국 요약하자면

1. 실수방지겸 알아차리기쉽게 멤버변수는 private 이에접근하는함수는 public 으로 선언해서

2. const를 이용해서 원치않는 함수로 원치않은 변경을하는 실수를 막게함

3. 그리고 이 const를 사용시 그밑에깔린 함수도 const로 선언해야만하게 해서 내부함수가 헛짓하는경우도 막게됨.