<Object>
와 <? extends Object>코드 중 List<? extends T>
라는 형태로 제네릭을 사용한 코드가 있었는데, 딱 봐도 아 T라는 클래스를 상속한 타입으로만 한정하겠다는거구나 싶었음
그런데 팀원분이 List<? extends Object>
는 안되네요? 하시길래 제네릭 특성이 파라미터 타입 지정해서 타입 에러를 방지하는 목적이니 최상위 클래스인 Object는 아마도 타입 추론이 불가능한 불확실한 타입에 대한 문제일거라 예상
그리고 비슷한 정답이었음
<Obejct>
와 <? extends Object>
의 차이
스택 오버플로우의 한 사진을 보니 더 명확해짐