(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

+ Recent posts