woong's

Android Kotlin val , var 변수 생성하기 본문

Develop/Android

Android Kotlin val , var 변수 생성하기

dlsdnd345 2017. 12. 6. 14:56

Android Kotlin 변수 생성하기


Kotlin 으로 앱을 만들면서 검색시 정리된 자료가 없어서 하나씩 정리하면 공부해 보려 합니다 .


참고 : https://kotlinlang.org/docs/reference/basic-syntax.html


Kotlin 변수


val : 값이 변하지 않는 상수

자바에서는 final 을 통해서 상수화 시키는것과 같습니다.

아래와 같이 상수를 정의하고 변경을 하려 하면 에러가 나타납니다.

변하지 않는 값의 상수를 이용할때 val 을 이용하면 됩니다.


1
2
val name = "woong"
    name = "woong!"
cs


var : 값이 변하는 변수

아래와 같이 var 로 정의를 하면 값을 변경 할수 있습니다.


1
2
var name = "woong"
    name = "woong!"
cs

타입 지칭

아래와 같이 명확하게 타입을 지칭 할수 있습니다.

자바에서는 타입을 생성해서 넣기 때문에 혼란이 없을수 있지만 Kotlin의 경우는

val , var 를 통해서 값을 담기에 혼동을 준다고 생각하면 : 타입 을 지칭하면 됩니다.


1
var name:String = "woong"
cs


널 허용

아래와 같이 코드를 작성하면 에러가 나타납니다. Kotlin은 자바와 다르게 변수의 Null을 허용하지 않습니다.

하지만 Null 이 필요한경우가 있습니다. 이런경우에는 ? 기호를 통해서 변수를 Null 허용 할수 있습니다.


1
var name:String = null
cs


아래와 같이 널 허용한 경우 사용시 3가지 방법이 있습니다.


1. !!

   !! 표는 nullable 이면 오류를 발생합니다. null 이 아닐 경우에만 사용하는것이 좋습니다.


2. ?

    ? 는 null 또는 value 를 전달 할수 있습니다.

   아래와 같이 name?.length 의 코드를 작성하면 name 에 값이 있으면 length 의 숫자가 반환 되겠지만

   name 이 Null 인 경우는 null 이 반환 됩니다.


3. Null 체크

    마지막으로 null 을 허용해준 경우 if , Null 체크를 해주면 에러가 발생하지 않는것을 확인 할수 있습니다.

    Null 체크가 귀찮을수 있지만 , 좋은 코드를 작성하는데는 3번이 실수 하지않고 좋은 코드를 작성할수 있을것 같습니다.


1
2
3
4
5
6
name!!.length
name?.length
        
if(name != null){
   name.length
}
cs


Comments