코틀린에서 변수를 선언할 때, 자바와 달리 자료형 대신 키워드로 변수 선언을 시작합니다. 또 상황에 따라 뒤에 오는 타입을 명시하거나 생략하게 허용합니다.
변수를 선언하는 키워드는 두가지가 있습니다.
var
- variable라는 의미를 가집니다.
- mutable(가변) 참조를 저장하는 변수로 활용됩니다.
- 값이 바뀔 수 있습니다.
- 자바의 일반변수에 해당합니다.
- 한번 초기화하면 타입이 고정됩니다. Int 타입으로 처음 초기화 되면 Int형 변수가 됩니다.
val
- value라는 의미를 가집니다.
- immutable(불변) 참조를 저장하는 변수로 활용됩니다.
- val로 선언된 변수는 일단 초기화하고 나면 재대입이 불가능합니다.
- 자바의 final에 해당됩니다.
- 초기화 조건(분기)에 따라 다른 여러 값으로 초기화 할 수 있습니다.
- 참조 자체는 불변일지라도 그 참조가 가리키는 객체의 내부 값은 변경될 수 있습니다.
var과 val의 비교
//Impossible
val example = arrayListOf("")
example = arrayListOf() //Val cannot be reassigned 에러가 발생합니다.
//Possible
//참조 자체는 불변일지라도 그 참조가 가리키는 객체의 내부 값은 변경될 수 있습니다.
val example = arrayListOf("")
example.add("")
//Possible
var example = arrayListOf("")
example = arrayListOf()
[ 출처 : Kotlin In Action ]
728x90
반응형
'Language > Kotlin In Action' 카테고리의 다른 글
[Kotlin In Action] 인터페이스 (0) | 2021.04.22 |
---|---|
[Kotlin In Action] 가변 인자 (0) | 2021.04.22 |
[Kotlin In Action] 확장함수 (0) | 2021.04.21 |
[Kotlin In Action] 문자열 템플릿 (0) | 2021.04.13 |
[Kotlin In Action] 함수 (0) | 2021.04.13 |
댓글