객체지향 설계 · 디자인 패턴LESSON 07
SOLID 1: 단일 책임과 개방-폐쇄 원칙
난이도중급 → 심화
예상 시간65분
선수지식이전 강의
7강. SOLID 1: 단일 책임과 개방-폐쇄 원칙
1. 이번 강의에서 해결할 문제
알림 유형을 추가할 때 거대한 switch와 기존 테스트를 모두 수정한다면 변경 축이 한 함수에 닫혀 있습니다. 그러나 미래 알림 하나를 상상해 미리 플러그인 구조를 만들 필요도 없습니다.
2. 학습 목표
3. 핵심 개념
SRP는 클래스가 한 줄 일이라는 뜻이 아니라 같은 이유로 변하는 요소를 묶는 원칙입니다. OCP는 검증된 안정 코드를 덜 수정하며 새 변형을 추가하는 방향입니다. 변형이 두 개뿐이고 닫혀 있으면 switch가 더 명확할 수 있습니다.
4. 구현
Notifier.h
class Notifier { public: virtual ~Notifier() = default;
virtual void send(const Notification&) = 0; };
class ConsoleNotifier final : public Notifier {
public: void send(const Notification& value) override;
};
5. 코드가 동작하는 이유
TaskService는 완료 유스케이스만 바뀌고 새 알림 구현은 Notifier 계약 아래 추가됩니다. 구체 생성은 조립 지점에 남습니다.
6. 자주 하는 실수와 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
MINI QUIZ
0 / 2SOLID 1: 단일 책임과 개방-폐쇄 원칙 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
LESSON STATUS
7강. SOLID 1: 단일 책임과 개방-폐쇄 원칙 미완료 상태학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.