PECS로 컬렉션 API 설계하기의 선택 기준을 나란히 비교한다
비교 항목: 생산자는 extends로 읽기 범위를 넓힌다 / 불필요한 유연성은 API를 어렵게 한다 / 반환 타입에는 불필요한 와일드카드를 피한다
| 확인 질문 | 판단 근거 | 코드에서 드러낼 것 |
|---|---|---|
| 생산자는 extends로 읽기 범위를 넓힌다 | 소스가 T 값을 제공한다면 List로 T 또는 하위 타입 목록을 받을 수 있습니다. | 타입과 시작값 |
| 불필요한 유연성은 API를 어렵게 한다 | 정확히 List만 다루는 내부 메서드까지 와일드카드를 쓰지 않습니다. | 실패 또는 변경 경계 |
| 반환 타입에는 불필요한 와일드카드를 피한다 | 호출자가 결과를 사용할 때 캡처 타입을 처리하게 만들 수 있습니다. | 선택한 규칙의 결과 |
선택 기준 호출자가 결과를 사용할 때 캡처 타입을 처리하게 만들 수 있습니다.