[Item31] - 한정적 와일드카드를 사용해 API 유연성을 높이라.
Effective Java 3/E를 공부하며 작성한 글입니다. 혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀 상위 타입과 하위 타입의 호환 매개변수화 타입은 불공변(invariant)이다. 서로 다른 Type1, Type2가 있다고 가정해보자. List은 List의 하위 타입도, 상위 타입도 아니다. 이 말은 즉, List은 List의 하위 타입이 아니라는 뜻과 동일한 것이다. public class ListTest { @Test void listTest() { List objList = new ArrayList(); List strList = new ArrayList(); objList.add(strList); } } 위 코드를 보면 objList는 어떤 객체든 넣을 수 ..