생성(creational) 패턴은 객체 생성을 다룹니다 — 객체가 어떻게 인스턴스화되고, 유연하게 만들어지며, 그것을 사용하는 코드로부터 분리되는지에 관한 것입니다. Singleton, Factory, Builder, Prototype, Abstract Factory가 포함됩니다.
생성 패턴이 다루는 것
생성 패턴은 객체가 어떻게 생성되는지를 추상화하고 제어함:
→ 곳곳에서 생성자를 직접 호출하는 대신(경직되고 결합됨), 생성 패턴은
객체 생성을 유연하고 분리되며 관리 가능하게 만듦
→ 상황에 맞게 객체를 생성하도록 도우며, 구체 클래스로부터 분리함
주요 생성 패턴
SINGLETON → 클래스의 인스턴스를 단 하나만 보장 (단일 공유 객체)
FACTORY METHOD → 정확한 클래스를 지정하지 않고 객체 생성 (메서드/서브클래스에 위임)
ABSTRACT FACTORY → 관련된 객체들의 집합(family)을 생성 (구체 클래스 지정 없이)
BUILDER → 복잡한 객체를 단계별로 구성 (구성과 표현을 분리);
많은 선택적 부분/매개변수를 가진 객체에 좋음
PROTOTYPE → 기존 객체를 복제(clone)하여 새 객체를 생성 (프로토타입을 복사)
