조슈아 블로크 님의 "Effective Java" 책을 정리한 포스팅 입니다. 1. 배열보다는 리스트를 사용하라배열은 공변Object[] objArray = new Long[1];objArray[0] = "hello"; // 런타임에 ArrayStoreException 발생구현 타입으로 변경됨잘못된 타입이 할당될 경우, 런타임에 예외 발생 제네릭은 불공변List ol = new ArrayList(); // 호환 X. 컴파일 타임에 오류 발생!ol.add("hello");매개변수 타입과 관련없이 제네릭 타입은 서로 다른 타입일치하지 않을 경우, 컴파일 타임에 오류 2. 이왕이면 제네릭 타입으로 만들라클래스 선언에 매개변수 타입을 추가하기 3. 이왕이면 제네릭 메서드로 만들라타입 매개변수 목록 메서드의 ..