| 단계 | 주차 | 범위(장) | 핵심 주제 | 실습/산출물 | 면접 포인트 |
|---|---|---|---|---|---|
| 1단계: 문맥 익히기 | 2주차 | 2, 3장 | 객체 협력, 역할/책임, RDD | Movie–Screening 협력 코드, 메시지 다이어그램 | 다형성으로 if 제거, 컴파일/런타임 의존성 |
| 2단계: 리팩터링 🔥 | 3주차 | 4장 | 데이터 중심 설계의 함정 | ReservationAgency 문제 코드 분석 | Getter/Setter 지양, 캡슐화 |
| 2단계: 리팩터링 🔥 | 4주차 | 5장 | GRASP 책임 할당 | 다형성/변경 보호 적용 리팩터링 | 책임 할당 기준 |
| 3단계: 의존성 관리 | 5주차 | 6, 8장 | 좋은 인터페이스, 의존성 주입 | 디미터/묻지말고시켜라, DI 적용 | CQS, 결합도 |
| 3단계: SOLID | 6주차 | 9장 | OCP/DIP/Factory | new 제거 리팩터링 | 생성·사용 분리 |
| 4단계: 상속의 한계 | 7주차 | 10장 | 취약한 기반 클래스 | Phone 상속 문제 재현 | 상속의 단점 |
| 4단계: 합성 | 8주차 | 11장 | 합성으로 유연성 | 요금 정책 합성 | 상속 vs 합성 |
| 5단계: LSP | 9주차 | 13장 | 서브타이핑 | 직사각형/정사각형 분석 | LSP 기준 |
| 5단계: 패턴 | 10주차 | 14, 15장 | 일관성/패턴 | 조건·규칙 분리 | 패턴의 본질 |
| 주차 | 학습 포인트 | 반드시 할 것 |
|---|---|---|
| 2주차 | 책임 먼저 생각하기(RDD) | 협력 다이어그램 직접 작성 |
| 3주차 | 데이터 중심 설계의 문제 체감 | 변경 시 파급효과 기록 |
| 4주차 | GRASP로 책임 재배치 | 다형성/변경 보호 적용 |
| 5주차 | 인터페이스 설계 원칙 | 디미터 위반 코드 제거 |
| 6주차 | SOLID 실전 적용 | DI/Factory로 리팩터링 |
| 7주차 | 상속의 함정 경험 | 중복/결합도 포인트 정리 |
| 8주차 | 합성으로 문제 해결 | 런타임 조합 코드 작성 |
| 9주차 | 올바른 상속 기준 | LSP 위반 사례 설명 연습 |
| 10주차 | 일관성 있는 협력 | 패턴으로 정리 |
"설계는 코드를 배치하는 것입니다." — 직접 리팩터링하며 체득하세요.