val로 선언한 경우 변경이 불가능하다.
val array: Array[String] = new Array(5)
array = new Array(2) // 에러 발생
변수가 힙에 할당되며 다른 값으로 재할당 할 수 없다.
하지만 배열의 원소는 변경이 가능하다.
val은 반드시 선언 시 초기화 해야한다.
class Person(val name: String, var age: Int)
val p = new Person("Lee", 29)
p.name = "yong" // 에러 발생
p.age = 30 // 성공