## 와일드카드 타입 사용하는 제네릭 타입 값에 직접 접근할 때 알아둘 내용  ### List<? extends Number> * Integer나 Long 타입을 사용하면 `List<Integer>`, `List<Long>` 처럼 쓰인다고 생각하기 (Number를 상속 받은 애들이라면 모두 <> 안에 올 수 있음) * 따라서 직접 값을 추가하면 컴파일러는 정의된 타입이 Integer인지 Long인지 모르기 때문에 사용 불가능 ### List<? super Number> super 타입을 Number로 제한 * Integer나 Long 타입을 사용하면 `List<Number>` 처럼 쓰인다고 생각하기 (Number의 하위는 모두 Number로 취급) * 따라서 직접 값을 추가해도 컴파일러는 Number라고 생각하기 때문에 사용 가능 * 단, extends 개념이랑 마찬가지로 Number의 상위 타입 데이터를 넣으려고 하면 컴파일러는 정확히 어떤 타입인지 알 수 없기 때문에 컴파일 에러 발생
와일드카드 타입 사용하는 제네릭 타입 값에 직접 접근할 때 알아둘 내용
List<? extends Number>
List<Integer>,List<Long>처럼 쓰인다고 생각하기 (Number를 상속 받은 애들이라면 모두 <> 안에 올 수 있음)List<? super Number> super 타입을 Number로 제한
List<Number>처럼 쓰인다고 생각하기 (Number의 하위는 모두 Number로 취급)