var과 val의 차이점

자바의 final은 가변인가 불변인가 차이이다.

코틀린은 var이 가변, val이 불변이다.

var number1 = 10L
val number2 = 10L
number1 = 5L --가능
number2 = 5L -- 불가능 

타입을 컴파일러가 확인한다. 타입을 지정하지 않지만 지정해도 된다.

var number1 : Long
number1 = 5

초깃값을 지정해주지 않는 경우는 타입을 명시해줘야한다.

var number : Int

val 컬렉션에는 element를 추가할 수 있다. (컬렉션 자체는 못바꾸더라도)

모든 변수는 우선 val로 만들고, 필요한 경우에 var로 바꾼다.

var ⇒ variable

val ⇒ value

코틀린에서의 Primitive Type, Reference Type은 구분이 없다.

var number1 : Long = 5L
var number2 : long = 5L

사실은 컴파일러가 적절히 바꿔가면서 처리를 해준다.