객체를 언제 만들어야 하고 만들지 말아야 하는지, 올바른 객체는 무엇이고 불필요한 생성은 무엇인지, 언제 제때 파괴하고 그전에 수행해야 하는 게 무엇인지 알아보자.
구체 클래스인 Object에는 overriding을 염두한 메서드들이 있다. 이들은 규약에 맞게 오바라이드 돼야 한다. 그렇지 않으면 HashMap, HashSet 등을 사용할 때 오동작을 유발한다.
추상화의 기본 단위인 클래스와 인터페이스는 자바 언어의 심장과 같다.
제네릭과 함께 슬기롭게 형변환하기 jdk 1.5부터 제공되는 제네릭을 사용하면 컬렉션이 담을 수 있는 타입을 컴파일러에 알려 엉뚱한 타입의 객체가 만들어 지는 것을 막을 수 있다. 하지만 제네릭은 코드가 복잡해질 수 있는 단점이 있는데, 제대로 사용하기 위해 공부하자