변수 선언 키워드 - var과 val의 차이점
long number1 = 10L; //(1)
final long number2 = 10L; //(2)
Long number3 = 1_000L; //(3)
Person person = new Person("류욱상"); //(4)
var number1 = 10L //(1)
val number2 = 10L //(2)
- (1)과 (2)에서 long과 final long의 차이는 가변과 불변의 차이이다.
- 이는 코틀린에서는 var과 val로 구분된다.
- var은 Variable의 약자, val은 Value의 약자.
var number1: Long = 10L
val number2: Long = 10L
- 코틀린에서는 모든 변수에 수정 가능 여부(var/val)을 명시해주어야 한다.
- 코틀린에서는 타입을 명시하지 않아도 되지만, 명시적으로 작성해줄 수도 있다.
var number1 = 10L
var number2: Long
val number3: Long
number3 = 10L
- 코틀린은 변수의 타입을 자동으로 추론해주는 ‘타입추론'이라는 기능을 제공한다.
- 이를 위해서는 변수를 초기화 할 때 값을 대입해주거나, 타입을 명시해주어야 한다.
- val은 불변이지만, 최초 한번 값을 대입해줄 때에는 값을 변경하는것이 허용된다.
- val 컬렉션에는 element를 추가할 수 있다.
- 모든 변수는 우선 val로 선언하고, 필요한 경우에만 var로 선언하는 것이 좋음.
Kotlin에서의 Primitive Type