[Kotlin in Action] 2. 변수, 문자열 템플릿
- Coding/Kotlin
- 2022. 5. 12.
반응형
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
반응형
'Coding > Kotlin' 카테고리의 다른 글
[Kotlin in Action] 5. while과 for 루프, Map 이터레이션, in으로 원소검사 (0) | 2022.05.15 |
---|---|
[Kotlin in Action] 4. enum 과 when, 클래스 계층과 스마트 캐스트 (0) | 2022.05.14 |
[Kotlin in Action] 3. 클래스, 프로퍼티 (0) | 2022.05.13 |
[Kotlin in Action] 1. Hello Kotlin 기본 코드 분석하기 (0) | 2022.05.11 |
[Kotlin] 인텔리J Kotlin 프로젝트 생성해보기 (2) | 2022.05.10 |