Reference/Effective-Java

    [Effective-Java] Chapter2 #2. 생성자에 매개변수가 많다면 빌더를 고려하라

    정적 팩터리와 생성자는 공통적인 제약이 존재하는데, 선택적 매개변수가 많을 때는 적절하게 대응하기가 힘들다. 📌 인스턴스화(Instantiate) class Car { private String brand; private String wheel; private String name; private String engine; private int capacity; private long price; public Car(String brand, String wheel, String name, String engine, int capacity, long price) { this.brand = brand; this.wheel = wheel; this.name = name; this.engine = engine;..

    [Effective-Java] Chapter2 #1. 생성자 대신 정적 팩터리 메서드를 고려하라

    보통 "클래스의 인스턴스를 생성하는 방법이 무엇이냐?"라고 묻는다면, 대부분 public 생성자를 이용하는 것을 말할 것이다. (그나마 Builder 패턴을 사용하여 조금 개선시킬 수 있다 정도?) 그런데 인스턴스를 만드는 방법은 한 가지 더 있는데, 바로 정적 팩터리 메서드(static factory method)다. 1. public 생성자 public class Foo { public Foo() {} } 2. 정적 팩터리 메서드 public class Foo { private static Foo FOO = new Foo(); private Foo() {} // 인스턴스화 불가 public static final Foo getInstance() { // factory method retirm FOO ..