삽질개발

[Mindev 개발공부]Kotlin 코틀린 변수 선언 및 초기화 본문

Kotlin

[Mindev 개발공부]Kotlin 코틀린 변수 선언 및 초기화

MinDev 2018. 5. 15. 20:08

안드로이드 개발 트렌드중 하나인 Kotlin에 대해서 알아보겠습니다.


먼저 기본적인 변수선언과 초기화에 대해서 알아보겠습니다.


1. 변수 선언

자바와 간단한 비교를 해보겠습니다.


Int num=0; <- JAVA

val(혹은var) num:Int=0 <- Kotlin


변수 타입이 val 과 var 두 가지로 제공하는 이유는 Assign-onceMutable로 구분되기 때문입니다.


*Assign-once(val) - 한번 초기화하면 더는 변경할 수 없다.

*Mutable(var) - 언제든지 변경할수있다.


val data1: Int = 10
var data2 = 20
fun main(args: Array<String>) {
data1=40 << 에러
data2=40
}


2. 변수 초기화

기존 자바에서는 전역변수만 선언할 경우 에러가 발생하지 않았습니다.

하지만 코틀린에서는 선언과동시에 초기화를 해주어야 합니다.

간단한 예를 들어보겠습니다.


val data1: String <<에러
var data2: Int << 에러

class Abc{
val data3:String <<에러
var data4:String <<에러
fun test(){
val data5:Int <<정상
val data6:String <<정상

print(data5) <<에러
}
}

위에 그림을 보자면 data1~4까지 변수선언만 하였기때문에 에러가 나는걸 확인할수 있습니다.

하지만 data5~6 은 정상이지만 print로 확인결과 에러가 나타납니다.


결론적으로 전역변수와 상위레벨 클래스의 멤버변수는 선언과 동시에 초기화를 해야하며,

내부의 지역변수는 선언과 동시에 초기화하지 않더라도 이후에 따로 초기화해야지만 사용할수 있다.

Comments