불로구

[코틀린 기초] 4. 코틀린 NULL 본문

프로그래밍/코틀린

[코틀린 기초] 4. 코틀린 NULL

맹이맹이 2021. 2. 9. 07:41
반응형

코틀린은 변수를 사용할 때 반드시 값이 할당되어 있어야 한다.

값이 없는 상태를 NULL이라고 부르는데 코틀린에서 NULL을 사용해보자.

 

fun main(){
    var str1 : String = "Hello Kotlin"
    str1 = null
}

일반적으로 이렇게 변수에 NULL을 삽입하려고 하면 에러가 발생한다.

그럼 어떻게 해야할까?

 

fun main(){
    var str1 : String? = "Hello Kotlin"
    str1 = null
    println(str1)
}

이렇게 타입뒤에 '?'를 붙여 null을 할당받을 수 있다고 명시해야한다.

 

그럼 이번에는 문자열의 길이를 출력해보자

값이 제대로 할당되어 있는 변수의 경우는 간단하다.

fun main(){
    var str1 : String = "Hello Kotlin"
    println("length : ${str1.length}")
}

 

그럼 null을 허용한 변수의 경우는?

fun main(){
    var str1 : String? = "Hello Kotlin"
    println("length : ${str1?.length}") // 출력 12
    str1 = null
    println("length : ${str1?.length}") // 출력 null
}

 

이번에는 null 검사를 해보자

방법은 여러가지지만 다른 언어와 별 다른게 없기때문에 엘비스 연산자만 해보겠다.

fun main(){
    var str1 : String? = "Hello Kotlin"
    str1 = null
    println("str1의 내용 : $str1   ,   str1의 길이 : ${str1?.length ?: -1}")
}

null 변수를 안전하게 사용하기 위해서 세이프콜 (?.) 과 엘비스연산자(?:)를 사용했다.

엘비스 연산자를 통해 비교대상 변수가 null이 아니면 왼쪽, null이면 오른쪽 값을 대입시켰다.

 

반응형
Comments