개발은 재밌어야 한다
article thumbnail
Item2. 생성자에 매개변수가 많다면 빌더를 고려하라
JAVA/이펙티브자바 2024. 2. 18. 01:03

정적 팩터리와 생성자로 객체생성시 매개변수가 많을때 대응이 어렵다는 제약이 있다. 이런 상황에는 점증척 생성자 패턴(telescoping constructor pattern)으로 매개변수에 대응되는 생성자를 늘려가는 방식으로 대응 점증척 생성자 패턴(telescoping constructor pattern)이란? 생성자를 필수 매개변수 1개만 받는 생성자, 필수 매개변수 1개와 선택 매개변수 1개를 받는 생성자, 선택 매개변수 2개를 받는 생성자 등에 형태로 매개변수 개수만큼 생성자를 늘리는 방식 public class NutritionFacts { private final int servingSize; // (ml, 1회 제공량) 필수 private final int servings; // (회, 총 ..

article thumbnail
Item1. 생성자 대신 정적 팩터리 메서드를 고려하라.
JAVA/이펙티브자바 2024. 2. 18. 00:02

일반적인 인스턴스 생성 방법은 public 생성자다. 정적 팩터리 메서드(static factory method) 로도 클래스 인스턴스를 생성 할 수 있다. 정적 팩터리 메서드란? 객체 생성을 흔히 사용하는 생성자가 아닌 정적(static) 메서드로 객체를 생성하는 메서드 정적 팩터리 메서드의 장점 1. 이름을 가질 수 있다. 일반적으로 생성자의 경우 객체를 생성할 때, 반활될 객체의 특성을 설명할 수 없다. → 이름을 따로 못가지기 때문에 ex) public class ExampleCalendar { private int year; private int month; } public static void main(String[] args) { // 생성자로 객체를 생성 ExampleCalendar cal..