본문 바로가기

Programming/Scala

val? var?

val ? var ?

스칼라를 처음 시작하면 기본적으로 

val 또는 var을 사용하게 될 것이다. 이것은 무엇일까? 사실 자바스크립트 같은 언어에서는 이미 사용중인 타입이다.

그렇다 변수가 선언 될 때 타입을 지정해주는 타입이다. 


그렇다면 두개의 차이는 무엇일까?

val은 "immutable"로  처음에 지정하면 getter 만 가지고 있어서 변경 or 재할당이 불가능한 타입이다. 

var는 getter/setter를 모두 생성 시켜 변경이 가능한 타입이다. 


val a = 5 

var b =6

 a = 6 (x) 불가능 

 b = 7(0) 가능



immutable이란 무엇일까? immutable이란 변경이 불가능한 객체를 말한다. 

사실 자바에도 String 이나 boolen등의 immutable이라는 개념이 있지만 재할당이 가능하다. (아마 String과 StringBuffer의 차이를 아시는 분이면 잘아실 듯합니다) 

하지만 스칼라는 불가능하다는 것이 포인트!!


그리고 스칼라에서는 immutable을 사용하는것을 권장한다. 

immutable에 대해서는 나중에 좀더 자세히 포스팅 하겠다!!



 

'Programming > Scala' 카테고리의 다른 글

apply  (0) 2016.08.05