[Kotlin in Action] 2. 변수, 문자열 템플릿

반응형
728x90
반응형

타입 추론 (Type Inference)

코를린은 변수 타입 생략이 가능하다.

val answer = 42 // Type 생략 가능
val answer2 : Int = 42 // Type 명시 가능

 

변수 선언시 초기화를 함께 해주지 않는 경우, 타입을 명시해줘야한다.

 val answer3: Int // 초기화하지 않을시, 타입을 명시해줘야한다.
 nswer3 = 42

 

 

val - 변경이 불가능한 변수 (Immutable)

val로 선언된 변수는 일단 초기화하고 나면, 재대입이 불가능하다.

  • Java의 final 변수에 해당한다.
// 변경 불가능한 함수
val a = 1
// a = 2 :변경이 불가능하다.

 

val 참조 자체는 불변일지라도, 그 참조가 가리키는 객체의 내부 값은 변경이 가능하다.

// val 참조 자체는 불변일지라도, 그 참조가 가리키는 객체의 내부 값은 변경이 가능하다.
val languages = arrayListOf("Java")
languages.add("Kotlin")

 

 

var - 변경이 가능한 변수 (mutable)

// 변경 가능한 함수
var b = 2
b = 3 // 변경이 가능하다.

 

변수의 값의 변경은 가능하지만, Type 변경은 불가능하다. 변환 함수를 사용하거나, 값을 변수에 대입할 수 있는 타입으로 강제 형 변환을 해야한다.

// var 키워드 사용시, 변수의 값은 변경 가능하지만 타입 변경은 불가능하다.
var answer5 = 42
// answer5 = "no answer" // 불가능

 

 

문자열 템플릿

변수 name이 존재할 경우 정상적으로 수행된다.

fun main(args: Array<String>) {
    val name = if (args.isNotEmpty()) args[0] else "Kotlin"
    println("Hello, $name!")

    // Bob을 인자로 넘기면 "Hello Bob", 인자가 없으면 "Hello Kotlin"
}

 

  • $ 문자열을 넣고 싶은 경우
println("\$x") // $x

 

 

반응형

Designed by JB FACTORY