머리말 : 오늘을 함께하는 프로그래머의 이야기를 담으며 ... 6 1장 객체지향 이야기를 시작하며 ... 13 객체의 탄생 ... 18 객체의 대중화 ... 22 객체지향 원리의 꽃 다형성 ... 26 코드의 재사용과 상속 ... 36 객체의 실패 ... 40 2장 디자인 패턴 디자인 패턴의 발견 ... 45 크로스토퍼 알렉산더, 와드 커닝험, 켄트 벡 ... 51 네 명의 일당들 ... 57 디자인 패턴의 철학 ... 61 3장 리팩토링 과거와 대결하는 프로그래머의 무기 ... 67 복잡성에 대한 두려움 ... 72 단순함의 미학 ... 78 리팩토링의 탄생 ... 84 리팩토링 맛보기 ... 89 후각을 발달시키기 ... 97 4장 소프트웨어 공학 소프트웨어 개발 방법론의 존재 이유 ... 109 스프트웨어 프로젝트 관리 ... 116 애자일 소프트웨어 개발 선언 ... 120 XP 프로그래밍 ... 127 페어 프로그래밍 ... 132 테스트 중심의 개발 ... 140 소프트웨어 공학 ... 145 5장 XML XML의 추억 ... 151 XML 도입의 실수 ... 155 SGML의 역사 ... 164 HTML의 등장 ... 170 XML의 등장 ... 176 웹서비스와 XML ... 181 XML의 미래 ... 189 소설 프로그래머 K씨의 하루 ... 191 참고문헌 ... 248