자바에서는 변수를 선언할 때 항상 int, String처럼 타입을 먼저 명시해야 했습니다. 하지만 코틀린은 아주 똑똑한 타입 추론(Type Inference) 능력을 갖추고 있어서 굳이 타입을 적어주지 않아도 스스로 알아냅니다.
코틀린의 변수 선언은 크게 두 가지, val(Value)과 var(Variable)로 나뉩니다. 프로그램의 버그를 줄이고 안전성을 높이기 위해, 코틀린은 기본적으로 값이 변하지 않는 val을 사용하는 것을 강력하게 권장합니다.
val (Value): 한 번 물건을 넣으면 자물쇠로 잠가버리는 '안전 금고'입니다. 중간에 값을 절대 바꿀 수 없습니다. (Java의 final과 동일)
var (Variable): 뚜껑이 열려있어서 언제든 내용물을 뺐다 꼈다 할 수 있는 '열린 상자'입니다. 값이 수시로 변하는 카운터 등에 사용합니다.
| 문법 / 특징 | 설명 및 예시 |
|---|---|
| 타입 추론 | val price = 5000 우측의 값을 보고 스스로 Int임을 파악합니다. (생략 가능) |
| 명시적 선언 | 타입을 꼭 쓰고 싶다면 변수명 뒤에 콜론(:)을 씁니다.val name: String = "Alice" |
| 문자열 템플릿 ($) | Java처럼 귀찮게 +로 더하지 않고, 문자열 안에 $변수명을 쓰면 바로 치환됩니다.println("가격은 $price 원") |