도토리 줍는 개발자 김지무

Kotlin 코틀린 변수선언 (기본기) - jimoo 본문

코틀린(Kotlin)공부

Kotlin 코틀린 변수선언 (기본기) - jimoo

지무 2021. 9. 26. 03:16
728x90
반응형

코틀린에는 변수를 선언하기 위한 키워드 valvar 두가지 있습니다.

1. val  (읽기 전용 변수)

val 은 읽기 전용 변수를 선언하기 위한 키워드입니다. 즉, val 로 선언된 변수는 처음에 초기화된 값을 나중에 변경할 수 없습니다.

( java의 final 변수를 선언하는 것과 같습니다. )

val 변수명: 변수타입 = 인자값         또는        val 변수명 = 인자값

형태로 변수를 선언하면 됩니다.

코틀린은 자바와 달리 컴파일러가 변수의 인자값 정보를 사용하여 해당 변수의 타입을 자동으로 찾을 수 있습니다.

따라서 변수를 초기화 할 때 변수의 타입을 명시적으로 꼭 선언하지 않아도 됩니다. 

 

아래는 val 변수를 선언하는 코드의 예시를 적어놨습니다! 

val은 나중에 변경할 수 없기 때문에 변수를 생성하면서 반드시 초기화를 해야합니다. 

아래 name2 는 val 변수를 선언하면서 동시에 초기화를 하지 않아서 에러가 발생하는 경우입니다.

name3는 val 변수를 선언하고 값을 변경하려고 시도했을 때 에러가 발생하는 경우입니다. (name3 = "jimoo3")

// 올바른 val 변수선언 코드
val name = "jimoo"
val name1:String = "jimoo"

// 잘못 생성한 경우 : 변수를 생성할 때 초기화하지 않으면 에러발생!
val name2: String
name2 = "jimoo"

// 변수 값 변경 불가!! 변경할 시 에러발생
val name3 = "jimoo"
name3 = "jimoo3"

 

2. var 

var 은 val 과 다르게 선언한 뒤에도 값을 변경할 수 있는 변수선언 키워드입니다. 

val과의 공통점은 변수의 타입을 생략하여 변수를 선언할 수 있습니다.

다른점은 변수를 선언할 때 초기화를 꼭 시키지 않아도 됩니다. 그리고 선언 후 값을 마음대로 변경할 수 있습니다.

var 변수명: 변수타입 = 인자값         또는        var 변수명 = 인자값         또는         var 변수명

아래 코드는 위의 val과 달리 모두 에러없이 잘 작동하는 것을 볼 수 있으십니다. 

var name = "jimoo"
var name1:String = "jimoo"

var name2: String
name2 = "jimoo"

var name3 = "jimoo"
name3 = "jimoo3"

 

728x90
반응형
Comments