강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

pius712 のプロフィール画像
pius712

投稿した質問数

コトリン高級編

4強。宣言点変性

4강 타입소거 관련 질문

解決済みの質問

作成

·

317

1

자바의 경우 실제 런타임에서 제네릭은 타입 소거되니까, 클래스에 variance를 주더라도 실제 런타임에서는 런타임에는 그냥 Cage가 되는거 아닌가요?그러면 animal 케이지에 다른걸 넣어도 런타임에서는 문제가 없지않을까.. 싶어서요
kotlin함수형-프로그래밍객체지향

回答 2

1

lannstark님의 프로필 이미지
lannstark
インストラクター

안녕하세요, 비오님! 질문 주셔서 감사합니다!! 😊

 

결론부터 말씀드리면, 자바에서는 클래스에 variance를 주는 기능이 없습니다! 선언지점변성은 코틀린에만 존재하는 기능이고, 자바에서는 사용 지점 변성처럼 특정 변수나 특정 함수에 대해 ? extends T 혹은 ? super T 를 사용해야 해요!

 

즉, "자바의 경우 실제 런타임에서 제네릭은 타입 소거되니까, 클래스에 variance를 주더라도"라는 부분에서 자바는 클래스에 variance를 줄 수 없다 라고 말씀드리는 부분입니다.

 

혹시나 제가 질문을 잘못 이해했거나 아직 이해에 어려운 부분이 있으시다면 편하게 질문 남겨주세요!!! 🙏🙏 (제네릭에서 변성이 많이 많이 어려운 부분이긴 합니다 😭

감사합니다! 🙏

pius712님의 프로필 이미지
pius712
質問者

아하, 우선 제 질문 자체가 일부 잘못되긴 했네요. 자바는 클래스에는 variance 를 줄 수 없군요. 감사합니다. 추가로, 뒤에 강의에서 소거 내용이 나와서 해결되었습니다 !

1

pius712님의 프로필 이미지
pius712
質問者

참고로 8분 20초 전후 내용입니다

pius712 のプロフィール画像
pius712

投稿した質問数

質問する