CS 기초 · 기초
팩토리 메서드(Factory Method) 패턴은 언제 사용하며, 이 패턴을 적용했을 때 얻을 수 있는 장점은 무엇인가요?
힌트 · 객체 생성 로직을 서브클래스에 위임하여 결합도를 낮추고, 새로운 객체 타입 추가 시 기존 코드를 수정하지 않도록 합니다. OCP를 준수하는 데 도움이 됩니다.
객체 생성결합도 감소유연성확장성OCP (개방-폐쇄 원칙)
모범답안
팩토리 메서드 패턴은 객체 생성 로직을 직접 수행하는 대신, 서브클래스에서 객체 생성을 담당하도록 위임할 때 사용합니다.
이 패턴을 적용하면 객체 생성과 사용 코드가 분리되어 결합도가 낮아집니다. 따라서 새로운 객체 타입을 추가하더라도 기존 코드를 수정할 필요 없이, 새로운 서브클래스만 추가하면 됩니다. 이는 OCP(개방-폐쇄 원칙)를 준수하는 데 도움이 됩니다.
예를 들어, 다양한 데이터베이스 연결 객체를 생성해야 할 때, 각 데이터베이스 종류에 따라 팩토리 메서드를 구현한 서브클래스를 만들 수 있습니다. 이렇게 하면 데이터베이스 종류가 추가되어도 기존 코드를 변경하지 않고 확장할 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 디자인 패턴 면접 질문
- 소프트웨어 개발에서 디자인 패턴(Design Pattern)이 무엇인지 설명하고, 이를 사용하는 주된 목적은 무엇인가요?
- 싱글톤(Singleton) 패턴은 어떤 상황에서 사용하기 적합하며, 이 패턴을 구현할 때 주의해야 할 점은 무엇인가요?
- 추상 팩토리(Abstract Factory) 패턴은 팩토리 메서드 패턴과 어떻게 다르며, 어떤 종류의 문제를 해결하는 데 효과적인가요?
- 빌더(Builder) 패턴은 복잡한 객체를 생성할 때 어떤 이점을 제공하며, 일반적인 생성자(Constructor) 방식과 비교했을 때의 차이점은 무엇인가요?
- 스트래티지(Strategy) 패턴은 다양한 알고리즘을 유연하게 교체해야 할 때 어떻게 활용될 수 있는지 설명해주세요.