반갑습니다!

[Kotlin] Null vs Non-Null 본문

Kotlin

[Kotlin] Null vs Non-Null

김덜덜이 2020. 5. 1. 00:20

Null이 허용되는 변수

Kotlin에서는 변수의 자료형 뒤에 ?를 선언함으로써 Null값을 가질 수 있는 변수임을 명시할 수 있다.

var num: Int = 123
var num2: Int? = null
var num3: Int = null // Error!

Safe-call (Elvis-Expression)

nullable한 변수를 사용할 때 ?. 연산자(Elvis-Expression)를 사용해서 null인 경우 NPE를 방지할 수 있도록 해줄 수 있다. 엘비스 연산자는 변수가 null인지 아닌지 검사하여 null이 아니라면 왼쪽의 식을 그대로 실행하고 null이라면 오른쪽의 식을 실행한다.

fun main() { 
    var str: String?
    str = null
    println("str: $str, str length: ${str?.length}")
    str = "Hello"
    println("str: $str, str length: ${str?.length}")
}
/* 실행 결과
str: null, str length: null
str: Hello, str length: 5
*/

non-null 단정 기호

변수 이름 뒤에 !!를 붙임으로써 컴파일러가 변수의 타입이 null인지 확인하지 않도록 해줄 수 있다.

println(str!!.length)

'Kotlin' 카테고리의 다른 글

[Kotlin] 함수  (0) 2020.06.09
[Kotlin] 비트 연산  (0) 2020.06.08
[Kotlin] 자료형의 변환  (0) 2020.06.03
[Kotlin] 자료형과 변수  (0) 2020.04.30
[Kotlin] Introduction to Kotlin  (0) 2020.04.30