<aside> 💡 단원 목표 올바른 객체생성 방법

</aside>

→ 생성자 / 정적 팩터리 메서드 / 빌더는 모두 인스턴스를 생성하는 방법이다

인스턴스를 생성하는 방식

  1. 생성자를 사용

  2. 정적 팩터리 메서드를 사용

    → 선택적 매개변수가 많을 때 적절하게 대응하기 힘들다

  3. NEW 빌더패턴(Builder)

    → 생성자에 선택적(필수가 아닌)매개변수가 많을 때 사용한다

매개변수가 많은 인스턴스를 생성하는 법

case. 식품 포장의 영양정보를 표현하는 클래스

public class NutiritionFacts {
	private final int servingSize; //ml, 1회 제공량 (필수)
	private final int servings;    //회, 총 n회 제공량(필수)
	private final int calories; //선택 
	private final int fat; //선택
	private final int sodium; //선택 
	private final int carbohydrate; //선택
}

1회 제공양, 총 제공량 횟수를 제외하고는 인스턴스마다 선택적으로 보유할 수 있는 값이다.

1. 점층적 생성자 패턴

다양한 상황에 맞는 생성자를 여러개 생성하는 방법이다.

원하는 매개변수를 모두 포함한 생성자 중 가장 짧은 것을 골라 호출