Notice
Recent Posts
Recent Comments
Link
코드 여행 일기
코틀린의 val과 var: 무엇을 선택해야 할까? 본문
728x90
반응형
코틀린(Kotlin)은 그 간결하고 현대적인 문법 덕분에 많은 개발자들 사이에서 인기를 얻고 있습니다.
코틀린을 배우는 과정에서 가장 기본적이면서도 중요한 개념 중 하나가 바로 변수 선언입니다.
특히, val과 var의 차이를 이해하는 것은 필수적입니다.
이번 포스트에서는 val과 var의 차이점과 사용 방법을 예제와 함께 자세히 알아보겠습니다.
val (Value)
val은 불변 변수를 선언할 때 사용합니다. 한 번 초기화되면 그 값을 변경할 수 없습니다.
이는 자바의 final 변수와 유사한 역할을 합니다.
val name: String = "Kotlin"
name = "Java" // 컴파일 오류: Val cannot be reassigned
val age: Int = 10
age = 15 // 컴파일 오류: Val cannot be reassigned
위 예제에서 볼 수 있듯이, val로 선언된 변수는 한 번 값이 할당되면 다시 값을 할당할 수 없습니다.
이는 코드의 예측 가능성을 높여주고, 의도치 않은 값 변경으로 인한 버그를 방지하는 데 도움이 됩니다.
var (Variable)
반면, var는 가변 변수를 선언할 때 사용합니다. 초기화 후에도 값을 변경할 수 있어 필요에 따라 값을 여러 번 수정할 수 있습니다
var language: String = "Kotlin"
language = "Java" // 문제 없음
var count: Int = 10
count = 15 // 문제 없음
var로 선언된 변수는 초기화 이후에도 자유롭게 값을 변경할 수 있어, 상태가 변하는 데이터를 다룰 때 유용합니다.
예제: val과 var의 실제 사용
좀 더 복잡한 예제를 통해 val과 var의 차이를 살펴보겠습니다.
fun main() {
val immutableList = listOf(1, 2, 3)
// immutableList.add(4) // 컴파일 오류: Unresolved reference: add
val mutableList = mutableListOf(1, 2, 3)
mutableList.add(4) // 문제 없음
println(mutableList) // [1, 2, 3, 4]
val name = "Alice"
// name = "Bob" // 컴파일 오류: Val cannot be reassigned
var age = 25
age = 26 // 문제 없음
println("Name: $name, Age: $age")
}
- immutableList는 val로 선언되었기 때문에 새로운 리스트를 할당할 수 없으며, 이 리스트는 불변 리스트이기 때문에 요소를 추가하거나 변경할 수 없습니다.
- mutableList는 val로 선언되었지만, 가변 리스트이기 때문에 요소를 추가할 수 있습니다.
- name은 val로 선언되어 한 번 초기화된 이후 변경할 수 없습니다.
- age는 var로 선언되어 값이 변경될 수 있습니다.
언제 val을 사용하고, 언제 var를 사용할까?
- 기본적으로 val을 사용하는 것이 좋습니다. 불변 변수를 사용하면 코드의 안정성과 유지보수성이 향상됩니다.
- 꼭 필요한 경우에만 var를 사용하여 가변 상태를 최소화하는 것이 좋습니다.
코틀린에서 val과 var의 사용은 코드의 가독성과 안정성을 높이는 중요한 요소입니다.
이를 적절히 사용하여 더 나은 코드를 작성해보세요!
728x90
반응형
'코딩 > kotlin' 카테고리의 다른 글
코틀린의 while 문: 기초부터 응용까지 (0) | 2024.05.28 |
---|---|
코틀린의 for 문: 반복 작업의 강력한 도구 (1) | 2024.05.27 |
코틀린의 when 문: 다중 조건 처리의 강력한 도구 (0) | 2024.05.26 |
코틀린의 if 문: 조건문부터 표현식까지 (0) | 2024.05.25 |
코틀린의 산수 연산자 (0) | 2024.05.24 |