콘텐츠로 이동

오브젝트 실전 강의 교재 — 18편 인덱스 (15장 + 부록 A·B·C)

무엇인가

조영호 『오브젝트』 (위키북스, 2019) 의 15장 + 부록 A·B·C 를 Java/Spring 백엔드 입문~중급 수강생용 강의 교재로 풀어 쓴 자료. 총 18편.

→ 책 카드는 entity-object.

실습 환경과 장별 루틴

먼저 guide-java-book-study-lab의 Java 17 + JUnit 5 기본 환경을 준비한다. 오브젝트 강의는 “테스트 통과”보다 책임이 어느 객체로 이동했는지를 확인하는 실습이 핵심이다.

각 장은 같은 순서로 읽는다.

  1. 문제 코드에서 “누가 남의 내부를 알고 있는가”를 표시한다.
  2. 객체에게 보낼 메시지를 먼저 이름 붙인다.
  3. 책임을 옮긴 After 코드를 작성한다.
  4. getter/setter 호출이 줄었는지, 변경 파급이 줄었는지 체크한다.
  5. 마지막 체크리스트와 퀴즈로 “왜 이 설계가 나아졌는지”를 한 문장으로 남긴다.

18편 인덱스

주제 본문 핵심
1장 객체, 설계 — 티켓 판매 lecture-object-ch1 절차지향 → OO 첫 워크스루
2장 객체지향 프로그래밍 — 영화 예매 lecture-object-ch2 협력·다형성·추상 의존
3장 역할, 책임, 협력 lecture-object-ch3 RDD 사고 순서
4장 설계 품질과 트레이드오프 lecture-object-ch4 데이터 중심 함정
5장 책임 할당하기 (GRASP) lecture-object-ch5 책임 주도 설계
6장 메시지와 인터페이스 lecture-object-ch6 Tell, Don't Ask·CQS
7장 객체 분해 lecture-object-ch7 절차지향 vs OO 역사
8장 의존성 관리하기 lecture-object-ch8 DIP·new 함정
9장 유연한 설계 lecture-object-ch9 OCP·생성/사용 분리
10장 상속과 코드 재사용 lecture-object-ch10 상속 함정
11장 합성과 유연한 설계 lecture-object-ch11 합성 > 상속
12장 다형성 lecture-object-ch12 업캐스팅·동적 바인딩
13장 서브클래싱과 서브타이핑 lecture-object-ch13 LSP
14장 일관성 있는 협력 lecture-object-ch14 패턴 발견
15장 디자인 패턴과 프레임워크 lecture-object-ch15 GoF + IoC
부록 A 계약에 의한 설계 (DbC) lecture-object-appendixA 사전·사후·불변
부록 B 타입 계층의 구현 lecture-object-appendixB 메커니즘 비교
부록 C 동적인 협력, 정적인 코드 lecture-object-appendixC 행동이 코드를 결정

→ 총 18편. 사용자 입력 (1·2·3장) + 본 세션 작성 (4~15장·부록 A·B·C, 15편).

강의 교재 형식

## N장 — 제목

> 원서: 조영호 『오브젝트』
> 대상: Java/Spring 백엔드 입문~중급
> 형식: 개념 → 비유 → 예시 → 핵심 교훈 → 현업 예제 → 함정 → 체크리스트 → 퀴즈(정답 분리)

## 0. 이 장을 시작하기 전에
  0.1 학습 목표
  0.2 큰 그림 (ASCII + 비유)
  0.3 현업에서 왜 중요한가

## N.M 절
  비유 / 핵심 / 예시

## 핵심 교훈 / 현업 예제 / 함정 / 체크리스트

## 퀴즈 (질문 5개)
### 정답·해설 (번호 매핑)

## 다음 장 예고

책 전체 10 메시지

  1. 객체지향의 본질 = 객체 협력.
  2. 메시지가 객체를 결정 — 협력 → 책임 → 객체.
  3. 데이터 중심 X → 책임 중심.
  4. 추상에 의존 (OCP·DIP).
  5. 합성 > 상속.
  6. 다형성 + LSP = 진짜 다형성.
  7. 일관된 협력 → 디자인 패턴 → 프레임워크.
  8. 계약 (사전·사후·불변) 이 LSP 의 기반.
  9. 타입 계층 표현 = 인터페이스 + 추상 클래스 + 합성 조합.
  10. 동적 협력 먼저, 정적 코드 나중.

활용 가이드

목적 추천 진입점
OO 입문 1~3년차 1·2·3장 (티켓·영화 예매·RDD)
빈혈 도메인 탈출 4·5장 (데이터 중심 함정 + RDD)
상속 정리 10·11장 (상속 함정 → 합성)
LSP 깊이 13장 + 부록 A
패턴 학습 진입 14·15장
신입 교육 1·2장 통째로

5권 도서 오각형 (entity-object 안에 정리)

단위 시점
오브젝트 객체·협력 처음부터 잘 설계
Effective Java 메서드·필드 매번 짤 때
리팩터링 1단계 변환 이미 짠 코드
Clean Code 줄·이름·함수 매 라인
TDD 사이클 코드 짜기 전

관련 페이지