모바일 개발하는 자바리안의 메모장

Kotlin - 변수 초기화(Initialization) 본문

Android/Android.Kotlin

Kotlin - 변수 초기화(Initialization)

자바리안 2021. 12. 14. 21:32
반응형

딱 처음 Kotlin을 접하고 볼 수 있었던 자바와는 살짝 다른 변수 선언과 초기화,,

차이점 2가지는 다음과 같다 : 

 

첫번째, 변수의 타입을 변수명 뒤에 명시해준다.

 

Java)

String str = "text";

Kotlin)

var str : String = "text"

 

Kotlin의 경우 변수명 : 데이터타입 형태로 변수를 선언한다.

타입이 굳이 명시하지 않아도 똑똑한 코틀린 컴파일러가 알아서 해결해준다.

보다 쉬운 이해를 위해 아래 코드를 보자 : 

fun main() {
    val str = "I am a string"
    checkDataType(str)
}
fun checkDataType(input : Any) {
    when(input) {
        is String -> print("Type is String")
    	is Int -> print("Type is Int")
        else -> print("Sth else")
    }
}

is 키워드는 뒤에 명시한 객체와 타겟 변수의 타입이 일치하는지 확인해준다.

str 변수에 따로 타입을 명시해주지 않았음에도 불구하고, 어떤 타입인지 잘 찾아주는 스마트함을 엿볼 수 있다.

 

 

두번째는 val, var 키워드를 변수명 앞에 붙여 불변(immutable),가변(mutable)을 정의해주는 부분이다.

val = value, var = variable의 약어로, val 로 선언된 변수의 경우 최초 초기화 이후에는 값이 변경이 불가(Java 에서 final과 같은 역할)하며,  var의 경우는 그 반대다.

var int1 : Int = 0
int1 = 1 // Good

val int2 : Int = 0
int2 = 1 // Error

val로 선언된 int2의 경우 재정의가 불가하기에, 새로운 값을 할당하면 에러가 발생하며 위와 같은 메시지를 볼 수 있을것이다.

 

 

 

 

반응형

'Android > Android.Kotlin' 카테고리의 다른 글

Kotlin - object & companion object  (0) 2023.04.14
Kotlin - lazy  (0) 2021.12.22
Kotlin - Null Safety (?, !!)  (0) 2021.12.14
Comments