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
- 쿠링
- 코드포스
- Hilt
- 코루틴
- TEST
- android
- Kotlin
- Codeforces
- textfield
- ProGuard
- androidStudio
- 프로그래머스
- MyVoca
- 백준
- GitHub
- Coroutine
- AWS
- 암호학
- Compose
- Gradle
- MiTweet
- Python
- relay
- Rxjava
- Coroutines
- architecture
- activity
- pandas
- boj
- livedata
Archives
- Today
- Total
이동식 저장소
[Kotlin] const, val, var 본문
Kotlin에서 ``const``는 컴파일 시간에 결정된다는 의미를 갖고 있다. 프로그램이 실행되는 런타임 이전에 이미 결정되어 변하지 않는다는 것이다.
그래서 ``const val``은 컴파일 시간에 결정되는 상수를 의미한다. 그냥 ``val``은 런타임에서 결정될 수도 있지만, ``const val``은 컴파일 시간에 결정되므로 런타임에서 재할당할 수는 없다.
``const``의 의미를 생각해 보면 ``const var``이 모순인 이유를 쉽게 알 수 있다. ``var``은 언제든 재할당될 수 있으므로, ``const``와 정반대의 의미를 갖고 있기 때문이다.
따라서 ``const val``은 컴파일 시간에 결정될 수 있는 문자열과 기본 자료형(정수, 실수 등)에만 사용할 수 있다. 일반 클래스 인스턴스는 런타임에 생성자에 의해 만들어지므로 컴파일 시간에 결정될 수 없으며, 따라서 ``const`` 역시 사용할 수 없다.
일반적으로 ``const val``은 클래스의 ``companion object`` 또는 파일 최상위 레벨에서 상수를 선언할 때 사용된다.
'Primary > Kotlin' 카테고리의 다른 글
[Kotlin] 코루틴의 실행 순서와 테스트 코드 (1) | 2022.04.26 |
---|---|
[Kotlin] Coroutine을 반환 vs. 그냥 실행 (0) | 2022.04.25 |
VSCode에서 Kotlin 컴파일 환경 구축하기 (1) | 2022.02.25 |
[Kotlin] Coroutines - Shared Mutable State and concurrency (0) | 2021.01.26 |
[Kotlin] Coroutines - Exception Handling and Supervision (0) | 2021.01.25 |
Comments