변수를 비공개(private)로 정의하는 이유 → 남들이 변수에 의존하지 않게 만들고 싶기 때문
그렇다면 왜 프로그래머들은 get, set 함수를 public하게 만들어 비공개 변수를 외부에 노출할까?
예시) 구체적인 Point 클래스 vs 추상적인 Point 클래스 (p118)
디미터 법칙 : 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙
→ 클래스 C의 메서드 f는 다음과 같은 객체의 메서드만 호출해야 한다
위 객체에서 허용된 메서드가 반환하는 객체의 메서드는 호출하면 안 된다
기차 충돌
잡종 구조
구조체 감추기