추상 팩토리 패턴이란 관련된 객체의 집합 또는 서로 의존하거나 연관된 여러 종류의 객체를 생성하는 인터페이스를 제공하는 디자인 패턴입니다. 이 패턴은 구체적인 클래스에 의존하지 않고 서로 관련된 객체들의 군을 생성할 수 있게 해줍니다. 말은 어려워보이지만 별거 아닙니다. 그냥 테이블, 쇼파, 의자 제품을 한 세트로 생산한다고 생각해봅시다. 그 상황에서 고소득층 전용 프리미엄 하이엔드 제품셋트를 만들고 싶을때, 추상 팩토리 패턴이 적용 되어 있을경우 클라이언트 코드에서 단 몇줄만 다르게 코딩하여 생산가능하게끔 해줍니다. 팩토리 메서드 패턴의 구성 1. AbstractFactory 관련된 객체 집합을 생성하는 메서드를 선언한 인터페이스입니다. 구체적인 팩토리 클래스들이 이 인터페이스를 구현하게 됩니다. 2...
전체 글
깊이 있게 공부하자자바 리플렉션의 기본 원리와 사용 예 1. 리플렉션이란? 리플렉션(Reflection)은 Java에서 런타임에 클래스의 메타데이터를 조회하거나 수정할 수 있는 강력한 기능입니다. 이를 통해 개발자는 실행 중인 Java 애플리케이션 내부의 클래스, 메서드, 변수 등에 대한 정보를 동적으로 액세스하고 조작할 수 있다. 2. Person 클래스를 통한 리플렉션 사용 예 Person 클래스는 구성은 아래와 같습니다. 속성 : name, age 메서드 : sayHello 생성자 : 전부 public class Person { private String name; private int age; public Person(String name) { this.name = name; } public Person(int a..
팩토리 메서드 패턴이란 이 방법은 인스턴스 생성을 위한 인터페이스를 정의하고, 어떤 클래스의 인스턴스를 생성할지에 대한 결정은 서브클래스가 내리도록 합니다. 이로써 객체 생성과 클래스의 구현이 밀접하게 결합되는 것을 방지합니다. 팩토리 메서드 패턴의 구성 1. Creator 객체의 생성 과정을 추상화한 클래스 또는 인터페이스. 팩토리 메서드를 선언, 구체적인 객체 생성은 서브클래스(ConcreteCreator)가 담당한다. 2. ConcreteCreator 팩토리 메서드를 오버라이드 하여서, 구체적인 제품을 구현한다. 3. Product 생성될 객체들의 공통 인터페이스. ConcreteProduct 클래스들이 구현해야 하는 메서드를 정의. 4. ConcreteProduct Product 인터페이스를 구현..
빌더 패턴이란 빌더 패턴은 복잡한 객체의 생성 과정과 표현 방법을 분리하여, 동일한 생성 과정에서 서로 다른 표현 결과를 얻을 수 있도록 하는 생성 디자인 패턴입니다. 빌더 패턴의 구성 GOF 가 설명하는 빌더 패턴은 주로 다음 네 가지 구성 요소로 이루어져 있습니다 Builder: 객체의 생성 과정을 추상화한 인터페이스. ConcreteBuilder: Builder 인터페이스의 구현체로, 객체의 실제 생성을 담당. Director: Builder를 사용해 객체를 생성하는 클래스. Product: 최종적으로 생성되는 객체. 빌더패턴 다이어그램 예제: 커피주문 시스템 // Product 클래스 public class Coffee { private final String type; private final ..