본문 바로가기

클래스2

Effective Java 아이템 16. public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라 Effective Java 3판을 학습하며 요약한 내용입니다. 자세한 내용은 책을 참고해주시기 바랍니다. class Point { public double x; public double y; } Point 클래스는 데이터 필드에 직접 접근할 수 있다. 이러한 클래스를 만들면, 객체 지향에서 캡슐화 장점을 사용할 수 없다. 또한, 불변 클래스를 만들 수 없다. Point 클래스의 접근 제한자는 package-private이기 때문에 패키지 내부에서만 사용할 수 있다. 이러한 클래스를 보면 필드를 모두 private을 변경하고, setter 또는 getter 접근자를 추가하고 싶어할 것이다. Point 클래스에 접근자를 추가하고 필드는 각 접근자 메서드를 통해 접근할 수 있도록 변경한 코드이다. class .. 2019. 4. 14.
Effective Java 아이템 15. 클래스와 멤버의 접근 권한을 최소화하라 Effective Java 3판을 학습하며 요약한 내용입니다. 자세한 내용은 책을 참고해주시기 바랍니다. 컴포넌트 설계 시 중요한 점은 클래스 내부 데이터와 내부 구현 정보를 외부 컴포넌트로부터 잘 숨겼는지(은닉화)가 중요하다. 잘 설계된 컴포넌트는 내부에 사용되는 것과 API로 공개하는 것을 깔끔하게 분리한다. API를 통해서만 다른 컴포넌트와 소통하며, 서로의 내부 동작 방식에는 관심이 없다. 정보 은닉 장점 시스템 개발 속도를 높인다. 시스템 관리 비용을 낮춘다. 성능 최적화에 도움을 준다. 소프트웨어 재사용을 높인다. 큰 시스템을 제작하는 난이도를 낮춘다. 접근 제어 매커니즘은 클래스, 인터페이스, 멤버의 접근성(접근 허용 범위)를 명시한다. 각 요소의 접근성은 요소가 선언된 위치, 접근 제한자로.. 2019. 4. 11.