Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 이펙티브코틀린
- 프로그래머스
- RxKotiln
- 안드로이드
- 이펙티브 코틀린
- Kotlin
- RxJava
- 개발자
- react
- Java
- MVVM
- 안드로이드 다이얼로그
- Go언어
- Kotiln
- 알고리즘
- android
- Swift 문법
- 반응형 프로그래밍
- Rxjava 안드로이드
- 코루틴
- Firebase
- 안드로이드 개발자
- 코틀린
- Flutter
- Dev6
- android compose
- 잡담
- 코딩테스트
- 안드로이드 클린아키텍쳐
- 안드로이드 컴포즈
Archives
- Today
- Total
최데브는 오늘도 프로그래밍을 한다.
Kotlin Type aliases 본문
공부를 하던중 typealiases 라는 키워드를 알게됐다.
코틀린에서 typealiases 는 긴 제너릭 타입을 사용하는 변수들에 대한 새로운 별명을 지어주는 키워드다.크게 엄청난 역할을 하는것은 아니고 짧게 별칭으로 쓸 수 있게 바꿔주는 용도 정도로 생각하면 좋을 거 같다.
typealias DataBaseUseCase = BaseUseCase<Data, Flow<UiState<Data>>>
이렇게 적어주면
class DatatUseCase @Inject constructor(private val repo: DataRepository) :
BaseUseCase<Data, Flow<UiState<Data>>>
이렇게 됐어야하는게
class DatatUseCase @Inject constructor(private val repo: DataRepository) :
DataBaseUseCase
이런식으로 적어 줄 수 있게 되는것이다.
클래스에서
class User {
inner class Name {}
}
class User {
inner class Info {}
}
typealias UserName = User.Name
typealias UserInfo = User.Info
이렇게 적어줄수도 있게 된다.
그럼 그냥 저렇게 막 사용해도 될까?
아니다.
typealias 는 Top Level 로만 정의 할 수 있고 클래스 내부나 함수 내에는 적을 수 없다.Top Level 이기에 public 으로만 선언된다.
그렇기에 너무 남발해서 사용하면 누구나 접근 할 수 있는 코드가 되어버리기 때문에 복잡해질 수 있다.
반응형
'Kotlin' 카테고리의 다른 글
lateinit 과 lazy의 차이점 (0) | 2022.03.15 |
---|---|
DeciamlFormat 으로 숫자 천단위로 콤마 넣기 (0) | 2021.10.07 |
람다식에서 return 사용하기 (0) | 2021.05.02 |
Java Kotlin 차이점 (0) | 2021.05.01 |
코틀린 커스텀 다이얼로그 (0) | 2021.04.25 |
Comments