
Effective Java 3. 생성자나 열거 타입으로 싱글턴임을 보증하라
2021. 12. 28. 01:00
Java/Effective Java
오늘은 싱글턴을 만드는 방법에 대해 알아보겠다. 싱글턴을 만드는 방법에는 아래와 같이 세 가지 방식이 있다. 싱글턴을 만드는 방법 1. public static final 필드 방식의 싱글턴 생성자는 private으로 감춰두고, 유일한 인스턴스에 접근할 수 있는 수단으로 public static final 멤버를 마련한다. public class Elvis1 { public static final Elvis1 INSTANCE = new Elvis1(); private Elvis1() { } } 이 방식의 장점은 아래와 같다. public static 필드라 final이니 해당 클래스가 싱글턴임이 API에 명백하게 드러난다. 간결하다. 싱글턴을 만드는 방법 2. 정적 팩터리 방식의 싱글턴 생성자는 priv..

Effective Java 2. 생성자에 매개변수가 많다면 빌더를 고려하라
2021. 12. 25. 23:42
Java/Effective Java
객체 생성은 생성자를 통해 하거나 아이템 1에서 공부한 것처럼 정적 팩토리 메서드를 사용할 수 있다. 이제 매개변수가 많아질 때에 어떻게 객체 생성을 할 수 있을지 알아보자. 점층적 생성자 패턴(telescoping constructor pattern) 정적 팩터리와 생성자에는 똑같은 제약이 있다. 바로 선택적 매개변수가 많을 때 적절히 대응하기 어렵다는 점이다. 이럴 때, 프로그래머는 샘플 코드와 같이 점층적 생성자 패턴(telescoping constructor pattern)을 즐겨 쓴다. public class NutritionFacts { ... public NutritionFacts(int servingSize, int servings, int calories) { this(servingSiz..