조슈아 블로크 님의 "Effective Java" 책을 정리한 포스팅 입니다. 1. 제네릭과 가변인수를 함께 쓸 때는 신중하라제네릭 varargs 배열 매개변수에 값을 저장하는 것은 안전하지 않음가변인수는 내부적으로 타입의 배열을 생성함제네릭 타입의 배열은 생성 불가생성 시, 힙 오염 발생 힙 오염public class Example { public static void unsafeMethod(T... args) { Object[] array = args; // args는 T[] 타입 배열로 생성됨 array[0] = "String"; // 런타임에는 Object로 처리되어 컴파일 가능 T t = args[0]; // ClassCastExc..