생성 패턴은 객체의 생성과 관련된 패턴으로 총 5개의 패턴이 있다.
추상 팩토리 (Abstract Factory)
- 구체적인 클래스에 의존하지 않고, 인터페이스를 통해 서로 연관, 의존하는 객체들의 그룹으로 생성하여 추상적으로 표현한다.
- 연관된 서브 클래스를 묶어 한 번에 교체하는 것이 가능하다.
빌더 (Builder)
- 작게 분리된 인스턴스를 건축 하듯이 조합하여 객체를 생성한다.
- 객체의 생성 과정과 표현 방법을 분리하고 있어, 동일한 객체 생성에서도 서로 다른 결과를 만들어 낼 수 있다.
팩토리 메소드 (Factory Method)
- 객체 생성을 서브 클래스에서 처리하도록 분리하여 캡슐화한 패턴이다.
- 상위 클래스에서 인터페이스만 정의하고 실제 생성은 서브 클래스가 담당한다.
- 가상 생성자(Virtual Constructor) 패턴이라고도 한다.
프로토타입 (Prototype)
- 원본 객체를 복제하는 방법으로 객체를 생성하는 패턴이다.
- 일반적인 방법으로 객체를 생성하며, 비용이 큰 경우 주로 이용한다.
싱글톤 (Singleton)
- 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만, 여러 프로세스가 동시에 참조할 수는 없다.
- 클래스 내에서 인스턴스가 하나뿐임을 보장하며, 불필요한 메모리 낭비를 최소화할 수 있다.