effective-java 1장 객체 생성과 파괴 2장 모든 객체의 공통 메서드 3장 클래스와 인터페이스 4장 제네릭 5장 열거 타입과 애너테이션 6장 람다와 스트림 7장 메서드 8장 일반적인 프로그래밍 원칙 9장 예외 10장 동시성