Dev Book Review/Effective Java
2020. 5. 19.
[Effective Java] item31. 한정적 와일드 카드를 사용해 API 유연성을 높여라
1. 매개변수화 타입의 불공변 매개변수화 타입은 불공변이다(invariant) : 서로 다른 타입 Type1,Type2가 있을 때 List 은 List 의 하위타입도 아니고 상위타입도 아니다. (리스코프 치환 원칙에 어긋난다.) 이때 불공변 방식보다 유연한 방식 : 한정적 와일드카드 타입 2. 한정적 와일드 카드 타입을 이용한 확장 유연성 극대화를 위해 원소의 생산자나 소비자용 입력 매개변수에 왈일드카드 타입을 사용하라. 입력 매개변수가 생산자와 소비자 역할을 동시에 한다면 와일드 카드 타입을 써도 좋을 게 없다. public void pushAll(Iterable list, int i, int j); 와일드 카드 타입을 사용하면, set, add와 같은 추가하는 메서드를 작성하지 못한다 따라서 실제 타..