접근제어자1 [이펙티브 자바 : 3장] 클래스와 인터페이스 추상화의 기본 단위인 클래스와 인터페이스는 자바 언어의 심장과도 같다. 그래서 자바 언어에는 클래스와 인터페이스 설계에 사용하는 강력한 요소가 많이 있다. 이번 장에서는 이런 요소를 적절히 활용하여 클래스와 인터페이스를 쓰기 편하고, 견고하며, 유연하게 만드는 방법을 안내한다. [아이템 15] 클래스와 멤버의 접근 권한을 최소화하라 좋은 설계와 어설픈 설계의 차이는 내부 데이터와 내부 구현 정보를 외부 컴포넌트로부터 얼마나 잘 숨겼느냐에 따라서 드러난다. 좋은 설계는 은닉성을 지키며, 구현과 API를 깔끔히 분리한다. 오직 API를 통해서만 다른 컴포넌트와 소통하며 서로의 내부 동작 방식에는 전형 개의치 않는다. 이것을 정보 은닉, 혹은 캡슐화라고 부른다. 이는 소프트웨어 설계의 근간이 되는 원리다. 정.. 2020. 7. 11. 이전 1 다음