안녕하세요. 이번 포스팅에서는 코틀린의 typealias에 대해 알아보겠습니다.
코틀린의 typealias 키워드를 직역해보면 <type : 유형> <alias: 별칭> 입니다.
말 그대로 타입(유형)에 별명을 지어주는 것인데요.
공식문서를 참고하거나 Kotlin Weekly를 참고해보면, typealias는 타입의 이름이 너무 길거나 중복되는 경우 좀 더 읽기 쉬운 이름으로 변경하기 위해 사용한다고 합니다.
예를 들어, 아래와 같이 변수를 생성한다고 한다고 할 때..벌써부터 머리가 어지럽습니다.
var type: LiveData<MutableStateFlow<ArrayList<String>>>
만약 변수가 아니라 함수나 데이터 클래스에 중복되어서 들어간다고하면 정신이 혼미해지죠
data class Type(val name: LiveData<MutableStateFlow<ArrayList<String>>>, val value: LiveData<MutableStateFlow<ArrayList<String>>>)
그 때, 우리는 제너릭 타입의 typealias 변수로 이를 해결할 수 있습니다.
typealias typeArray = ArrayList<String>
typealias typeFlow = MutableStateFlow<typeArray>
class TypeAliasClass {
lateinit var type: LiveData<typeFlow>
...
}
data class Type(val name: LiveData<typeFlow>, val value: LiveData<typeFlow>)
※ 참고로 typealias는 파일 최상단에 선언되어야 합니다.
또한, Inner Class에도 접근이 가능합니다.
(공식문서 출처)
class A {
inner class Inner
}
class B {
inner class Inner
}
typealias AInner = A.Inner
typealias BInner = B.Inner
이렇게 typealias로 코드의 가독성을 증진시키는 방법을 알아보았습니다.
감사합니다.
출처
https://kotlinlang.org/docs/type-aliases.html
'Android' 카테고리의 다른 글
[안드로이드] 가로모드(Landscape) 대응하기 (0) | 2023.10.10 |
---|---|
[안드로이드] 앱 백그라운드 전환 감지하기 - 코틀린&자바 (0) | 2023.09.19 |
[안드로이드] @JvmStatic의 역할은? + 확장 함수의 개념 (0) | 2023.09.05 |
[안드로이드] 웹뷰(WebView)(3) - 브라우저 캐시 사용하기 (0) | 2023.09.04 |
[안드로이드] 단축키를 커스텀하여 개발속도 향상시키기⌨ (0) | 2023.09.01 |