반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
이번 포스팅에서는 1.1버전에 새롭게 나온 Type aliases에 대해 공부합니다.
Type aliases
Type aliases 는 기존 타입에 대한 대체할 수 있는 이름을 제공합니다.
만약 타입의 이름이 너무 길다면, 간단한 이름으로 변경할 수 있습니다.
typealiases 는 제네릭 타입에 유용하게 사용할 수 있습니다.
typealias usersInfo = MutableMap<String, String>
fun main(args: Array<String>) {
fun users(a : usersInfo) : usersInfo {
a["이름1"] = "박성균"
a["아이디1"] = "altongmon"
return a
}
}
제네릭의 경우 위처럼 typealias 를 선언하고, 메서드의 파라미터나, 반환 타입으로
사용 가능 합니다.
val users : usersInfo = mutableMapOf(Pair("1","11"), Pair("2","22"))
변수의 타입으로 가능하구요.
Inner and Nested 클래스에도 typealias를 줄 수 있습니다.
class AAA {
inner class Inner
}
class BBB {
inner class Inner
}
typealias AInner = AAA.Inner
typealias BInner = BBB.Inner
마지막으로 메서드에도 typealias 지정이 가능한데요.
typealias Predicate<T> = (T) -> Boolean
fun foo(p: Predicate<Int>) = p(42)
fun main(args: Array<String>) {
val f: (Int) -> Boolean = { it > 0 }
println(foo(f)) // prints "true"
val p: Predicate<Int> = { it > 0 }
println(listOf(1, -2).filter(p)) // prints "[1]"
}
이렇게 사용 가능합니다.
직접타이핑 해보시며 실행해보시면 금방이해가 되실 거에요 ^^
감사합니다.
반응형
'코틀린(Kotlin)' 카테고리의 다른 글
코틀린 두 날짜 차이 구하기 (0) | 2019.02.07 |
---|---|
코틀린(kotlin) : 코틀린에서 static 접근 companion object (0) | 2018.02.13 |
코틀린(kotlin) : Reflection 반사?, 코틀린에서 Reflection이란? (0) | 2018.02.11 |
코틀린(kotlin) : how to use java.util.Scanner in Kotlin / 코틀린에서 자바 Scanner 클래스 사용 방법 (0) | 2018.02.10 |
코틀린(kotlin) : Annotations 어노테이션 (0) | 2018.02.09 |