Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. variance(변성) 개념은 `List` 와 `List` 와 같이 Base 타입이 같고, 타입 인자가 다른 타입들이 서로 어떤 관계가 있는지 설명하는 개념이다. 변성: 인자를 함수에 넘기기 `List` 타입의 파라미터를 받는 함수에 `List` 을 넘기면 안전할까? fun printContents(list: List) { println(list.joinToString()) } printContents(listOf("abc", "bac")) /* abc, bac */ 이 경우에는 `List` 을 사용해도 잘 작동한다. 위 함수는 각 원소를 `Any` 로 취급하며 모든 `String` 은 `..