Factory 패턴은 정확한 클래스를 지정하지 않고 객체를 생성하는 방법을 제공합니다 — 객체 생성을 담당하며 어떤 타입을 인스턴스화할지 결정하는 메서드 또는 클래스입니다. 객체 생성을 중앙화하고 추상화하여, 코드를 구체 클래스로부터 분리(decouple)합니다.
Factory 패턴이 하는 일
FACTORY → 객체 생성을 캡슐화함 (생성자를 직접 호출하는 대신):
→ factory 메서드/클래스가 어떤 클래스를 인스턴스화할지 결정하고 생성함
→ 호출자는 factory에 객체를 요청하고(타입/매개변수로) → 구체 클래스를 알거나
지정하지 않고도 알맞은 객체를 받음
→ 코드를 구체 클래스로부터 분리함; 생성 로직을 중앙화함
예시
{
() {
(type) {
: ();
: ();
: ();
}
}
}
shape = .();
