Kotlin const 키워드 완벽 가이드 - 상수 선언과 사용법 총정리
✨ 개요
Kotlin을 사용하다 보면 val은 익숙하지만, const 키워드는 조금 생소할 수 있습니다. val과 const val은 어떻게 다를까?, 언제 const를 써야 하고, 어떤 차이가 있는지 이번 포스팅에서 명확하게 정리해드리겠습니다.
1️⃣ kotlin const 란?
const는 Kotlin에서 컴파일 타임 상수(Constant)를 정의할 때 사용하는 키워드입니다. 즉, 프로그램 실행 전에 값이 고정되어 있고 변하지 않는 값을 정의할 때 사용합니다.
2️⃣ const 사용 조건
조건 | 설명 |
---|---|
val 과 함께 사용 |
var 불가능 |
Top-level, object , companion object 안에서만 가능 |
클래스 내부 일반 필드 불가 |
Primitive Type / String | 숫자, Boolean, 문자열 등만 가능 |
3️⃣ 기본 사용 예시
const val BASE_URL = "https://api.example.com"
object Config {
const val TIMEOUT = 5000
}
fun main() {
println(BASE_URL)
println(Config.TIMEOUT)
}
✅ const val은 컴파일 시점에 값이 결정되며, Java의 static final처럼 동작.
4️⃣ val
vs const val
차이점
구분 | val |
const val |
---|---|---|
값 결정 시점 | 런타임 | 컴파일 타임 |
위치 | 어디든 사용 가능 | Top-level, object, companion object |
사용 목적 | 변경 불가 변수 선언 | 고정된 상수 선언 |
예시 | 리스트, 객체 등도 가능 | 기본 타입 + String만 가능 |
5️⃣ 결론
- const val은 컴파일 타임 상수
- Top-level, object, companion object 안에서 사용 (stack_like)
- API URL, VERSION 등 고정 값에 사용
- Kotlin의 static-like 용도로 적합