참조: Effective Java 2nd Edition. Item 13: Minimize the accessibility of classes and memebers 잘 설계된 모듈은 내부 데이터 및 구체적인 정보는 외부 모듈로부터 숨긴다. 깨끗하게 구현체와 API를 분리해둔다. 그런 다음 오직 API만을 사용해서만 의사소통 하고 내부 동작은 다른 모듈이 알 필요 없게 한다. => information hiding 또는 encapsulation Information