(Kotlin 카테고리를 통해서 순서대로 공부할 수 있으니, 참고 부탁드립니다. ^^ 👍 )
Kotlin을 이번에 강의를 듣게 되었다. Java를 이용했던 변수와 다르게 또 다른 변수 선언 법이라서 재밌었다.
Kotlin의 변수에 대해서 알아보자.
//클래스에 있지 않게 가능.
var x = 5
fun main() {
x+= 1
println(x)
val a : Int = 1
val b = 1
val c : Int
c = 3
val d : Int
d = 123
//val(final 재할당 X)
//var(variable 재할당 O)
var f = 123
//오류 f = "hi";
}
위의 코드블록을 살펴보다 보면... 음..? 뭔가 익숙지 않은.... Kotlin만의 향수가 나고 있다.
엄청난 매력을 가지고 있는 친구다. 차근차근 알아보자!
-Kotlin의 변수 선언의 특징-
①. Kotlin에서는 val과 var 키워드를 사용해서 변수를 선언한다.
val : Java에서의 "final" 변수와 유사한 친구다. 즉, 한번 값이 할당 돼버리면, 변경 불가능한 변수라고 생각하시면 된다.
var: var은 변경 가능한 변수(Mutable) 다. variable뜻처럼, 변할 수 있으니, "variable"의 줄임말이라고 외워보면 한결 쉬워졌다.
②. Kotlin에서는 타입 "추론"이 가능하다.
Kotlin은 변수 선언 시 타입을 명시적으로 선언하지 않아도 Compiler가 type을 추론할 수가 있다... 👍(... 엄청나군)
이게 얼마나 대단한 거냐면 예를 들어 `val a : Int = 1`에서 `Int`타입을 명시한 것이랑, `val b = 1`에서는 타입을 생략했을 때, Compiler는 아, 얘도 위에 거랑 같은 거구나 하고 생각하고 `Int`로 추론 해버린다.. 무시무시한 능력이다. (인공지능?)
③. Kotlin에서는 범위 밖 변수 선언 가능 하다.
위의 예시 코드로 잠깐 Scroll을 올려다보면.. 음? 맨 윗 첫 번째 코드에 외톨이 같이 홀로 변수를 지정할 수가 있다..
이렇게 외톨이 같이 함수 밖에 정의된 변수들도 함수 안으로 가져올 수가 있다.
var globalVar = "전역 변수"
fun main() {
println(globalVar) // 전역 변수 출력
globalVar = "전역 변수 수정"
println(globalVar) // 수정된 전역 변수 출력
var globalVar = "함수 내에서 재정의한 전역 변수"
println(globalVar) // 함수 내에서 재정의한 전역 변수 출력
}
④. 타입 불일치 오류를 발생시킬 수 있다.
var f = 123
//오류 f = "hi";
Int로 추론되었던 것이, 문자열 같은 Type이 다른 걸로 재할당하려고 하면, 오류가 발생해 버린다.
참고: FastCampus
'Kotlin' 카테고리의 다른 글
Kotlin.06 클래스와 프로퍼티 (0) | 2023.04.02 |
---|---|
Kotlin 05.예외처리 (0) | 2023.04.02 |
Kotlin 04. 널 참조 (0) | 2023.04.02 |
Kotlin 03. 흐름제어 (0) | 2023.04.02 |
Kotlin 02. 함수 (0) | 2023.04.02 |