달나라 노트

Kotlin - Null 본문

Kotlin

Kotlin - Null

CosmosProject 2021. 3. 15. 02:17
728x90
반응형

 

 

 

Original source = play.kotlinlang.org/byExample/01_introduction/01_Hello%20world

 

 

 

 

Kotlin에서는 null값을 어떻게 다루는지 알아봅시다.

 

fun main() {
    var x: String = "Variable" // 1
    // x = null // Error 발생 // 2
    println(x)

    var y: String? = "Test Variable" // 3
    println(y)
    y = null // 4
    println(y) // 5

    println(x.length) // 6
    // println(y.length) // Error 발생 // 7
    y = "Reassign not null value" // 8
    println(y.length) // 9
}


-- Result
Variable
Test Variable
null
8
23

1. 변수 x를 String type으로 선언하고 "Variable"이라는 값을 할당하고 있습니다.

2. 변수 x는 String type을 받아야하기 때문에 null값을 할당하려면 Error가 발생합니다.

3. 변수 y도 String type으로 선언하고 "Test Variable"이라는 값을 할당하고 있습니다. 근데 변수 y의 data type이 String?입니다. 이렇게 물음표를 붙여놓으면 String과 null값을 할당받을 수 있다는 뜻이 됩니다.

4. y에 null값을 할당해도 에러가 뜨지 않습니다.

5. y를 출력하면 null이라고 표시됩니다.

6. 변수 x에 저장된 String의 길이를 표시합니다.(length는 어떤 문자열의 길이를 반환해주는 함수입니다.)

7. y에는 현재 null값이 할당되어 있는데 null값에 length함수를 적용하면 Error가 발생합니다.

8, 9. y에 값을 reassign한 후 length 함수를 쓰면 해결됩니다.

 

 

 

 

 

fun nullCheker(x: String?): String {
    if (x != null) {
        return "X is not null."
    }
    else {
        return "X is null."
    }
}

fun main() {
    var a: String = "Apple"
    println(nullCheker(a))

    var b: String? = null
    println(nullCheker(b))
}


-- Result
X is not null.
X is null.

.간혹 null값을 다뤄야하는 경우가 있습니다.

위 내용을 보면 nullChecker function을 작성하고 nullChecker 함수의 parameter x의 Data type은 String?으로서 물음표가 붙은걸로 모아 null값도 받을 수 있다는걸 의미합니다.

그리고 nullChecker의 내용을 보면 x != null 처럼 null값을 조건에 활용할 수 있습니다.

 

 

 

 

 

 

 

 

 

728x90
반응형

'Kotlin' 카테고리의 다른 글

Kotlin - Inheritance (상속)  (0) 2021.03.15
Kotlin - Class  (0) 2021.03.15
Kotlin - Variable  (0) 2021.03.15
Kotlin - Functions  (0) 2021.03.15
Kotlin - Hello World!  (0) 2021.03.15
Comments