PHpullh
학습 라이브러리/Kotlin/val vs var — 불변과 가변

KOTLIN · 기초 문법

val vs var — 불변과 가변

Kotlin의 두 변수 키워드. val은 재할당 불가(Java의 final), var은 재할당 가능. 기본은 val, 필요할 때만 var.

기초 문법입문valvar불변가변타입추론

핵심 설명

Kotlin의 두 변수 키워드. val은 재할당 불가(Java의 final), var은 재할당 가능. 기본은 val, 필요할 때만 var.

Kotlin code

// val = immutable (재할당 불가)
val name: String = "Kotlin"
val pi = 3.14159   // 타입 추론

// var = mutable (재할당 가능)
var count = 0
count = 10         // OK
count += 5         // OK

// name = "Java"  // ❌ 컴파일 에러!

fun main() {
    // 블록 내 지연 초기화도 가능
    val result: String
    result = if (count > 10) "크다" else "작다"
    println("$name / $result")
}

학습 팁

val은 참조 불변입니다. val list = mutableListOf(1,2,3)에서 list 자체 재할당은 불가지만 list.add(4)는 가능합니다.

주의할 점

val로 선언해도 내부 데이터가 가변(MutableList 등)이면 상태 변경이 가능합니다. 진짜 불변을 원하면 listOf()를 사용하세요.

자주 묻는 질문

val vs var — 불변과 가변란 무엇인가요?

Kotlin의 두 변수 키워드. val 은 재할당 불가(Java의 final ), var 은 재할당 가능. 기본은 val, 필요할 때만 var .

val vs var — 불변과 가변 학습 시 주의할 점은 무엇인가요?

val 로 선언해도 내부 데이터가 가변(MutableList 등)이면 상태 변경이 가능합니다. 진짜 불변을 원하면 listOf() 를 사용하세요.