온라인 자료
Introduction to Programming and and Computational Problem-Solving
무료로 제공되는 Java 초급 강의로 타입부터 제네릭, 간단한 자료구조까지 다룬다. 늘 대부분의 강의가 콘솔부터 가르치는 것과 다르게 클래스를 정의하고 내부를 살펴보는 방식이 새롭다. 설명의 깊이는 아쉽지만 찾아볼 수 있는 대부분의 키워드는 제공하고 있다. 더불어 테스트 개념도 같이 얘기해주고 있어서 유익함. 특히 상속과 제네릭을 다루는 부분은 여태 봐왔던 동물-코끼리 같은 상속보다 훨씬 와닿고 실무에 가까운 예제로 설명한다.
How to Design Classes
How to design class: object-oriented programming and computing. Matthias Felleisen, Matthew Flatt, Robert Bruce Findler, Kathryn E. Gray, Shriram Krishnamurthi, Viera K. Proulx
제목처럼 클래스, 인터페이스, 상속, 제네릭 등을 어떻게 활용하는지 예제 중심으로 다루는 책. 디자인 패턴을 다루는 책들에 비해 각각의 맥락을 좀 더 이해하기 편하도록 설명한다.