[1부] 객체지향
들어가며
개발을 배워야 한다
__기술 vs. 개발
__개발 능력을 길러야 하는 이유
__스프링과 JPA는 기술이다
이 책을 출간하게 된 이유
01장: 절차지향과 비교하기
1.1 책임과 역할
1.2 TDA 원칙
02장: 객체의 종류
2.1 VO(Value Object: 값 객체
__2.1.1 불변성
__2.1.2 동등성
__2.1.3 자가 검증
2.2 DTO(Data Transfer Object: 데이터 전송 객체
2.3 DAO(Data Access Object: 데이터 접근 객체
2.4 엔티티(Entity: 개체
__2.4.1 도메인 엔티티
__2.4.2 DB 엔티티
__2.4.3 JPA 엔티티
__2.4.4 해석
2.5 객체의 다양한 종류
03장: 행동
3.1 덕 타이핑
3.2 행동과 구현
3.3 인터페이스
3.4 행동과 역할
3.5 메서드
04장: SOLID
4.1 SOLID 소개
__4.1.1 단일 책임 원칙
__4.1.2 개방 폐쇄 원칙
__4.1.3 리스코프 치환 원칙
__4.1.4 인터페이스 분리 원칙
__4.1.5 의존성 역전 원칙
4.2 의존성
__4.2.1 의존성 주입
__4.2.2 의존성 역전
__4.2.3 의존성 역전과 스프링
__4.2.4 의존성이 강조되는 이유
4.3 SOLID와 객체지향
4.4 디자인 패턴
05장: 순환 참조
5.1 순환 참조의 문제점
__5.1.1 무한 루프
__5.1.2 시스템 복잡도
5.2 순환 참조를 해결하는 방법
__5.2.1 불필요한 참조 제거
__5.2.2 간접 참조 활용
__5.2.3 공통 컴포넌트 분리
__5.2.4 이벤트 기반 시스템 사용
5.3 양방향 매핑
5.4 상위 수준의 순환 참조
[2부] 스프링과 객체지향 설계
06장: 안티패턴
6.1 스마트 UI
6.2 양방향 레이어드 아키텍처
__6.2.1 레이어별 모델 구성
__6.2.2 공