728x90
- 불변성(무공변성, invariant)
상속 관계에 상관없이 자신의 타입만 허용하는 것을 뜻한다. Kotlin 에서는 따로 지정해주지 않으면 기본적으로 모든 Generic Class 는 무공변이다. Java 에서의 <T>와 같다. - 공변성(covariant)
자기 자신과 자식 객체를 허용한다. Java 에서의 <? extends T>와 같다. Kotlin 에서는 out 키워드를 사용해서 이를 표시한다. - 반공변성(contravariant)
공변성의 반대 - 자기 자신과 부모 객체만 허용한다. Java 에서의 <? super T>와 같다. Kotlin 에서는 in 키워드를 사용해서 표현한다.
728x90
'공부 > 기타궁금' 카테고리의 다른 글
MP4 (MPEG-4 Part 14), M3U8 (UTF-8 M3U) (0) | 2024.06.01 |
---|---|
mysql MyISAM, InnoDB 언두 로그, 리두 로그 (0) | 2023.03.15 |
스프링 부트 에서 @modelAttribute 와 @requestBody 의 차이점과 쓰임새는? (0) | 2023.03.09 |
데이터 용량에 따른 크기는 어느정도일까 (0) | 2023.02.12 |
데이터베이스 이중화와 클러스터링 차이점? (0) | 2023.01.30 |
댓글