패스잇
CS 기초 · 기초

빌더(Builder) 패턴은 복잡한 객체를 생성할 때 어떤 이점을 제공하며, 일반적인 생성자(Constructor) 방식과 비교했을 때의 차이점은 무엇인가요?

힌트 · 빌더 패턴은 복잡한 객체의 생성 과정을 여러 단계로 나누어 가독성을 높이고, 필수 인자와 선택 인자의 조합이 많을 때 유용합니다. 생성자 오버로딩의 단점을 보완합니다.

불변객체가변성단계별_생성유연성가독성

모범답안

빌더 패턴은 복잡한 객체를 생성할 때 유용합니다. 특히 필수 인자와 선택적 인자가 많아 생성자 오버로딩이 복잡해지는 경우에 효과적입니다.

일반적인 생성자 방식은 객체 생성 시 모든 인자를 한 번에 전달해야 하지만, 빌더 패턴은 단계별로 필요한 인자만 설정하고 최종적으로 객체를 생성할 수 있습니다. 이를 통해 코드 가독성을 높이고, 객체의 불변성을 유지하기 용이합니다.

예를 들어, 자동차 객체를 생성할 때 엔진, 타이어, 색상 등 다양한 옵션을 빌더를 통해 설정하고, 필요한 옵션만 선택적으로 설정하여 자동차 객체를 만들 수 있습니다. 이렇게 하면 생성자 오버로딩으로 인한 복잡성을 줄이고 유연하게 객체를 생성할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 디자인 패턴 면접 질문

← 디자인 패턴 면접 질문 전체 보기