목록JAVA/Effective Java (3)
seo92iy
[아이템 2] 생성자에 매개변수가 많다면 빌더를 고려하라
선택적 매개변수가 많을 때 대응하기 어렵다. 예를 들어 식품 영양 정보 표시 -> 탄수화물, 단백질, 지방, 나트륨, 콜레스테롤 등등 ... 20개가 넘는 선택 항목. 이럴 때 보통 점층적 생성자 패턴 사용 Telescoping constructor pattern 필수 매개변수만 받는 생성자, 필수+선택 1개 생성자 , 필수+ 선택 2개 생성자............ 필수 + 선택 20개 생성자 너무 많다! 코드 작성도 어렵고 읽기도 어렵고 클라이언트가 사용하는 것도 어렵다. 다른 대안 자바빈즈 패턴 JavaBeans pattern 매개변수가 없는 생성자로 객채 생성, 새터 매서드들을 호출해 매개변수 값 설정 단점 : 하나의 객체를 만들려면 메서드를 여러개 호출해야 한다. 완전히 생성되기 전까지 일관성(c..
JAVA/Effective Java
2021. 9. 15. 11:05
[아이템 1] 생성자 대신 정적 팩토리 메소드를 고려하라
장점 1. 이름을 가질 수 있다. 이름으로 반환될 객체의 특성을 묘사할 수 있다. 2. 호출될 때마다 인스턴스를 새로 생성하지 않아도 된다. 3. 반환 타입의 하위 타입 객체를 반환할 수 있는 능력이 있다. 4. 입력 매개변수에 따라 매번 다른 클래스의 객체를 반환할 수 있다. 5. 정적 팩토리 메소드를 작성하는 시점에서는 반환할 객체의 클래스가 존재하지 않아도 된다. 단점 1. 상속을 하려면 public 이나 protected 생성자가 필요하니 정적 팩토리 메소드만 제공하면 하위 클래스를 만들 수 없다. 2. 정적 팩토리 메소드는 프로그래머가 찾기 어렵다.
JAVA/Effective Java
2021. 9. 8. 16:48