
[TIL/Kotlin] 코틀린 고급문법_in/out 키워드와 ..연산자와 범위 표현식
·
TIL/Kotlin
1. in/out 키워드 out 키워드를 붙이면 서브타입을 슈퍼타입에 대입 가능, in 키워드를 붙이면 슈퍼타입을 서브타입에 대입 가능, 타입 인수를 *로 지정하면 타입 인수가 무엇이든 상관없이 대입이 가능하다. // AAA 클래스의 타입 매개변수 앞에 out 키워드를 붙임 // out 키워드를 붙이면 AAA을 AAA에 대입할 수 있게 된다. // out T는 자바의 ?extends T와 같다. class AAA // BBB 클래스의 타입 매개변수 앞에 in 키워드를 붙임 // in 키워드를 붙이면 BBB을 BBB에 대입할 수 있게 된다. // in T는 자바의 ?super T와 같다. class BBB fun main() { val aaaSub = AAA() val aaaSuper: AAA = aaaS..