minstudio

2. 변수와 기본 타입 (val vs var)

코틀린은 강력한 타입 추론(Type Inference)을 지원하여 자료형을 생략할 수 있습니다. 변수 선언은 크게 두 가지로 나뉩니다.

  • val (Value): 한 번 할당하면 바꿀 수 없는 불변(Immutable) 변수입니다. (Java의 final과 유사)
  • var (Variable): 값을 자유롭게 변경할 수 있는 가변(Mutable) 변수입니다.

코틀린은 프로그램의 안전성을 위해 기본적으로 가급적이면 val을 사용하는 것을 강력히 권장합니다.

fun main() {
    // val: 불변 변수 (Read-only)
    // 우측의 값을 보고 자동으로 Int 타입으로 추론합니다.
    val popcormPrice = 5000 
    
    // popcormPrice = 6000 // 에러! val은 값을 변경할 수 없습니다.

    // var: 가변 변수 (Mutable)
    var ticketCount = 2
    println("현재 티켓 수: " + ticketCount)
    
    ticketCount = 3 // 값 변경 가능
    println("변경 후 티켓 수: " + ticketCount)

    // 명시적으로 타입을 선언할 수도 있습니다 (변수명: 타입)
    val movieName: String = "인터스텔라"
    val rating: Double = 9.8

    // 문자열 템플릿($)을 사용하면 Java의 + 연산자나 String.format보다 훨씬 편하게 문자열을 조합할 수 있습니다.
    println("영화명: $movieName, 평점: $rating, 티켓 수: $ticketCount")
}
2. 변수와 기본 타입 (val vs var) | Minstudio