336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

var

  • 가변 변수: var로 선언된 변수는 가변적이며, 초기화된 후에도 값을 변경할 수 있습니다.
  • 사용 예시:
var name: String = "Alice"
name = "Bob"  // name의 값 변경 가능

val

  • 불변 변수: val로 선언된 변수는 불변적이며, 초기화된 후에는 값을 변경할 수 없습니다. 이는 상수(constant)와 유사하지만, 컴파일 타임 상수는 아닙니다.
  • 사용 예시:
val name: String = "Alice"
// name = "Bob"  // 오류: val 변수의 값은 변경할 수 없음

 

주요 차이점

  1. 가변성 (Mutability):
    • var는 가변적(mutable)입니다. 한 번 초기화한 후에도 값을 변경할 수 있습니다.
    • val은 불변적(immutable)입니다. 한 번 초기화하면 값을 변경할 수 없습니다.
  2. 초기화 후 변경 가능성:
    • var는 언제든지 새로운 값으로 재할당할 수 있습니다.
    • val은 선언 시 할당된 값을 유지하며, 재할당이 불가능합니다. 그러나 참조하고 있는 객체의 내부 상태는 변경될 수 있습니다.

val과 참조의 불변성

val 키워드는 참조의 불변성을 의미하며, 객체의 내부 상태는 변경될 수 있습니다. 즉, val로 선언된 변수는 새로운 객체로 재할당할 수 없지만, 그 객체의 property는변경될 수 있습니다.

val person = Person("Alice", 25)
person.age = 26  // 객체 내부 상태 변경 가능
// person = Person("Bob", 30)  // 오류: val 변수에 새로운 객체 할당 불가

사용 권장 사항

  • val 사용: 가능하면 val을 사용하여 불변성을 유지하는 것이 좋습니다. 이는 코드의 안전성을 높이고, 예기치 않은 변경을 방지할 수 있습니다.
  • var 사용: 값이 변경될 필요가 있는 경우에만 var을 사용합니다.

Kotlin에서 val과 var를 적절히 사용하면 코드의 가독성과 안정성을 높일 수 있습니다. val을 기본으로 사용하고, 필요한 경우에만 var를 사용하는 것이 권장됩니다.

+ Recent posts