Book Review/Effective Java

Book Review/Effective Java

[Effective Java] Item 15-17 : 클래스의 접근 권한 설정과 불변 클래스

Item 15 : 클래스와 멤버의 접근 권한을 최소화하라 잘 설계된 컴포넌트는 내부 구현을 완벽히 숨겨서, 구현과 API를 깔끔히 분리한다. 오직 API를 통해서만 다른 컴포넌트와 소통하며 서로의 내부 동작 방식에는 전혀 개의치 않는다. 여기서 말하는 것은 정보 은닉, 캡슐화이다. 정보 은닉의 장점은 컴포넌트들을 서로 독립시켜서 개발, 테스트, 최적화, 적용, 분석, 수정을 개별적으로 할 수 있게 해 준다. 정보 은닉, 캡슐화의 장점 개발 속도 향상 : 여러 컴포넌트를 병렬로 개발하는 것이 가능하다. 관리 비용 절감 : 각 컴포넌트를 더 빨리 파악할 수 있고, 다른 컴포넌트로 교체하는 부담도 적다. 성능 최적화에 기여 : 시스템 전체에서 최적화할 컴포넌트를 정해서, 특정 컴포넌트만 최적화할 수 있다. 재..

Book Review/Effective Java

[Effective Java] Item1 : 생성자 vs 정적 팩터리 메서드

Item1 : 생성자 대신 정적 팩토리 메서드를 고려하라 클래스의 인스턴스를 얻는 가장 기본적이고 전통적인 방법은 public 생성자이다. new 키워드를 이용하여 인스턴스를 생성할 수 있다. Item item = new Item(); 이 방법과는 별도로 정적 팩토리 메서드(static factory method)를 제공하는 방법을 꼭 알아두면 좋다. 해당 클래스의 인스턴스를 반환하는 단순한 정적 메서드이다. 예를 들면 아래와 같이 primary type인 boolean의 boxing class Boolean에서 정적 팩토리 메서드를 이용해서 boolean을 Boolean으로 변환하는 메서드가 있다. public static Boolean valueOf(boolean b) { return (b ? TRU..

HSRyuuu
'Book Review/Effective Java' 카테고리의 글 목록