scala

[Scala] val, var, def의 차이

sungjine 2018. 2. 28. 23:19
반응형

간단하게 var은 변수를 담기 위한 키워드고 val은 상수를 담기 위한 키워드며 def는 함수를 담기 위한 키워드다.

 

var과 val의 차이점은 var은 변수이기에 변경이 가능하고 val은 상수이기에 변경할 수 없다.

 

예제)

var number = 1 
number = 2  // 정상  

val number = 1 
number = 2  // 에러

def에도 그냥 값을 담을 수 있어 def와 var, val에 대한 내용이 헷갈릴 수 있는데 차이점은 var, val은 선언을 할 때 값이 정해지며 def는 호출할 때 계산한 후 값을 반환한다.

 

예제)

val numberA = 1
var numberB = 2

val printA = numberA + numberB

def printB = numberA + numberB

println(printA)   // 3
println(printB)   // 3  

numberB = 5 

println(printA)   // 3 
println(printB)   // 6
반응형