이펙티브 자바7 private 생성자나 열거타입으로 싱글턴임을 보증하라 Effective 자바에서 해당 아이템은 싱글턴 디자인 패턴을 구현하는 방법에 관한 것 입니다. 아래에서 싱글턴 패턴을 구현하는 방법을 알아보겠습니다. public static final 필드 방식의 싱글턴 이 방법은 싱글턴 인스턴스를 public static final 필드로 직접 제공합니다. 하지만 이 방법은 대체로 사용하지 않는게 좋습니다. 장점 클래스가 싱글턴임이 API에 명백히 드러남 public static final 필드이니 절대로 다른 객체를 참조할 수 없음 구현이 간함(간결함) 단점 유연성이 떨어짐 싱글턴 인스턴스가 인터페이스를 구현해야 하거나, 인스턴스를 런타임으로 바꿔야 하는 경우에 적합하지 않음 public class Singleton { public static final Sing.. 2024. 1. 3. 생성자에 매개변수가 많다면 빌더를 고려하라 정적 팩터리와 생성자에는 똑같은 제약이 하나 있습니다. 선택적 매개변수가 많을 때 적절히 대응하기가 어렵다는 점입니다. 빌더패턴을 설명하기 이전에 점층적 생성자 패턴(telescoping constructor pattern)에 대해 알아 보겠습니다. 점층적 생성자 패턴은 객체 생성 시 다양한 매개변수 조합을 처리하기 위해 여러 생성자를 제공하는 방식입니다. 이 패턴은 매개변수가 적을 때는 잘 작동하지만, 매개변수의 수가 많아지면 코드의 가독성과 관리가 어려워질 수 있습니다. 이펙티브 자바에서 예시로 이는 점층적 생성자 패턴 예시를 알아볼께요 점층적 생성자 패턴 - 확장하기 어렵다. ( Telescoping Constructor Pattern ) public class NutritionFacts { pri.. 2023. 12. 21. 정적 팩터리 메서드 이펙티브 자바(Effective Java) 에서 언급하는 정적 팩토리 메서드 (static factory method)는 객체 생성을 위한 디자인 패턴의 일종 입니다. 이 방법은 생성자 대신 클래스 내부에 정적 메서드를 사용하여 객체를 반환합니다. 명시적 이름 사용 : 생성자에 비해, 정적 팩토리 메서드는 반환될 객체의 특성을 잘 설명하는 이름을 가질 수 있습니다. 예를 들어 'Order.createInstance' 은 이름만으로도 새로운 인터스턴스를 반환하는 것을 알 수 있습니다. 호출될 때마다 새로운 객체를 생성하지 않아도 됨 : 필요한 경우, 정적 팩토리 메서드는 항상 새로운 객체를 생성하지 않고, 미리 생성된 객체를 반환할 수 있습니다. 이는 메모리 사용 최적화에 도움을 줍니다. 반환 타입의 하위.. 2023. 12. 20. 이전 1 2 다음