객체지향 설계 · 디자인 패턴LESSON 15
Builder 패턴: 복잡한 객체를 안전하게 만들기
난이도중급 → 심화
예상 시간65분
선수지식이전 강의
15강. Builder 패턴: 복잡한 객체를 안전하게 만들기
1. 이번 강의에서 해결할 문제
같은 타입의 생성자 매개변수가 많으면 순서를 바꿔도 컴파일되고 부분 초기화가 생깁니다.
2. 학습 목표
3. 핵심 개념
Builder는 단계적 조립과 읽기 좋은 이름이 필요한 복잡한 생성에 씁니다. 필수 값 두세 개뿐이면 생성자와 옵션 구조체가 더 명확합니다.
4. 구현
NotificationBuilder.h
class NotificationBuilder {
public:
NotificationBuilder& recipient(std::string value);
NotificationBuilder& message(std::string value);
NotificationBuilder& priority(Priority value);
Notification build() const;
private: std::optional<std::string> recipient_, message_;
Priority priority_{Priority::normal};
};
build는 필수 값과 길이를 검증한 뒤 완성된 Notification 값만 반환합니다.
5. 코드가 동작하는 이유
호출 코드는 각 인자의 의미가 보이고 불완전 객체는 Builder 내부에만 존재합니다.
6. 자주 하는 실수와 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
MINI QUIZ
0 / 2Builder 패턴: 복잡한 객체를 안전하게 만들기 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
LESSON STATUS
15강. Builder 패턴: 복잡한 객체를 안전하게 만들기 미완료 상태학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.