팩토리 패턴이란 무엇인가요?
_____A1: 팩토리 패턴(Factory Pattern)은 객체 생성 로직을 별도의 팩토리 클래스로 분리하여 캡슐화하는 디자인 패턴입니다. 클라이언트는 구체적인 클래스 이름을 알 필요 없이 팩토리 메서드를 통해 객체를 생성할 수 있습니다.
Q2: 팩토리 패턴을 사용하는 이유는 무엇인가요?
A2: 객체 생성 코드를 중앙 집중화해 변경에 유연하게 대응할 수 있고, 클라이언트 코드와 객체 생성 코드를 분리하여 결합도를 낮춥니다. 또한, 객체 생성 과정이 복잡하거나 조건에 따라 다양한 객체를 생성해야 할 때 유용합니다.
Q3: 팩토리 패턴의 종류에는 어떤 것이 있나요?
A3: 주요 팩토리 패턴에는 다음이 있습니다.
- 단순 팩토리(Simple Factory) : 정적 메서드로 객체를 생성하는 가장 기본적인 형태
- 팩토리 메서드(Factory Method) : 인터페이스를 통해 객체 생성 메서드를 정의하고 서브클래스에서 구체적 객체 생성을 담당
- 추상 팩토리(Abstract Factory) : 관련된 여러 객체군을 생성하는 인터페이스를 제공
Q4: 팩토리 패턴 사용 시 장점은 무엇인가요?
A4:
- 객체 생성 코드의 재사용성과 유지보수성이 향상됩니다.
- 변경에 닫힌 설계를 가능하게 하여 기존 코드를 수정하지 않고도 새로운 객체를 추가할 수 있습니다.
- 클라이언트가 구체 클래스에 의존하지 않아 코드의 결합도가 낮아집니다.
A5:
- 클래스가 많아져 복잡성이 증가할 수 있습니다.
- 단순한 경우에는 오히려 코드가 불필요하게 복잡해질 수 있습니다.
Q6: 팩토리 패턴을 언제 사용하면 좋나요?
A6:
- 객체 생성 로직이 복잡하거나 조건에 따라 다양한 객체를 생성해야 할 때
- 객체 생성 코드를 변경하지 않고도 새로운 객체 유형을 추가해야 할 때
- 클라이언트가 구체 클래스에 의존하지 않도록 하고 싶을 때
Q7: 팩토리 패턴과 관련된 예제는 무엇인가요?
A7: 예를 들어, 자동차 객체를 생성할 때 "자동차 제조사" 팩토리 클래스를 통해 브랜드별 자동차 인스턴스를 생성할 수 있습니다. 클라이언트는 어떤 브랜드 자동차인지 몰라도 팩토리에 요청만 하면 됩니다.
Q8: 팩토리 패턴과 싱글톤 패턴은 어떻게 다른가요?
A8: 팩토리 패턴은 객체 생성 방식을 캡슐화하는 데 집중하는 반면, 싱글톤 패턴은 특정 클래스의 인스턴스를 전역에서 단 하나만 생성하도록 제한하는 패턴입니다. 둘은 목적과 역할이 다릅니다.
Q9: 팩토리 패턴과 빌더 패턴의 차이점은 무엇인가요?
A9: 팩토리 패턴은 객체 생성을 캡슐화하는 데 집중하지만, 빌더 패턴은 복잡한 객체를 단계별로 생성하는 과정을 분리해 유연하게 조립하는 데 사용됩니다. 빌더는 주로 내부 구성 요소가 많고 조립 과정이 복잡한 경우 적합합니다.
작성자:
이준혁 [비회원]
| 작성일자: 1년 전
2024-09-10 10:10:38
조회수: 145 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 145 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.