목록책 정리 (74)
초보개발자 긍.응.성
정적 팩토리나 생성자에는 선택적 매개변수가 많을 때 적절히 대응하기 힘들다는 단점이 존재한다. 이런 단점들을 빌더를 이용하여 해결할 수 있다. 선택적 매개변수가 많은 경우 정측적 생성자 패턴, 자바빈즈 패턴, 빌더 패턴을 이용하여 해결하는 방법들과, 그중 빌더 패턴이 갖는 장점과 단점에 대해 알아보자. 1. 점층적 생성자 패턴 (telescoping constructor pattern) 필수 매개변수와 선택 매개변수를 받는 생성자 부터 선택 매개변수를 전부 다 받는 생성자까지 늘려가며 만들어 놓는 방식이다. 하지만 이 방법은 매개변수의 개수가 많아질수록 클라이언트 코드를 작성하거나 읽기 어렵다. 의미를 파악하기 힘들며 어려운 버그로 이어질 수 있다. public class NutritionFacts { ..
클래스는 클라이언트에 public 생성자 대신 정적 팩토리 메서드를 제공할 수 있다. 정적 팩토리 메서드가 생성자보다 좋은 다섯 가지 이유는 다음과 같다. public 생성자와 비교할 때의 정적 팩토리 메소드의 장점 1. 이름을 가질 수 있다 생성자의 이름은 반드시 클래스이름이어야 한다. 그렇기 때문에 생성자에 전달하는 매개변수와 생성자 자체 만으로는 반환될 객체의 특성을 제대로 설명하지 못한다. 반명 정적 팩토리 메서드는 네이밍(Naming)이 자유로워 이름만 잘 지으면 반환될 객체의 특성을 쉽게 묘사할 수 있다. 입력 매개변수에 따라 다른 객체를 넘겨주게 한다면 생성자도 여러 가지 방법으로 생성을 달리할 수 있지만, 이 방법은 좋지 않다. 하지만 이름을 구별하기 쉽게 지어준다면 이러한 문제는 발생하지..