🎯 아이템 31. 한정적 와일드카드를 사용해 API 유연성을 높이라. 매개변수화 타입은 불공변이다. 즉 서로 다른 타입 Type1과 Type2가 있을 때 List은 List의 하위 타입도 상위 타입도 아니다. 즉, List은 List가 하는 일을 제대로 수행하지 못하니 하위 타입이 될 수 없다. ( 리스코프 치환 원칙 에 어긋난다. ) 와일드카드 타입을 사용하지 않은 pushAll 메서드 - 결함이 있다! // Stack의 public API public void pushAll(Iterable src){ for (E e : src) { push(e); } } 언뜻보면 컴파일도 되고 완벽해 보이지만 결함이 있다. public final class Integer extends Number implements..