타입 별칭은 말 그대로 원래 존재하는 타입에 또다른 이름을 제공한다. 타입 이름이 너무 긴 경우 짧은 대체 이름을 설정해서 사용 할 수 있다.
특히 아래와 같이 제네릭 타입을 간결하게 표현 할 수 있다.
typealias NodeSet = Set<Network.Node>
typealias FileTable<K> = MutableMap<K, MutableList<File>>
함수에도 적용 할 수 있다.
typealias MyHandler = (Int, String, Any) -> Unit
typealias Predicate<T> = (T) -> Boolean
내부 클래스나 중첩 클래스에도 적용 가능하다.
class AForTypeAlias {
inner class Inner
}
class BForTypeAlias {
class Inner
}
typealias AInner = AForTypeAlias.Inner
typealias BInner = BForTypeAlias.Inner
타입 별칭은 새로운 형태의 타입을 생성시키는 것이 아니고, 코틀린 컴파일러가 컴파일시에 별칭을 원래 타입으로 변환하는 방식으로 동작한다.
반응형
'Kotlin' 카테고리의 다른 글
Kotlin - 고차함수와 람다식 (Higher-order functions and lambdas) (0) | 2024.04.21 |
---|---|
Kotlin - 함수 (Functions) (0) | 2024.04.09 |
Kotlin - Delegated properties (0) | 2024.03.28 |
Kotlin - Object 표현과 정의 (0) | 2024.03.23 |
Kotlin - Deligation (0) | 2024.03.23 |