안드로이드/기초

[ Kotlin ] Null

NULL

- 상태를 모름, 존재하지 않음

- 0과는 다름

- Null을 대상으로 연산할 수 없음

 

NullSafety (Null로 부터 안전해지는 이유)

- 코틀린의 가장 큰 특징

 

?를 이용하여 Null 처리

val number : Int? = null // Null 가능

val number : Int = 10 // Null 불가능

 

val num1: Int? = 3 + 5
val num2: Int? = 10

val num3: Int? = num1 + num2 // 결과 -> 에러

왜 Error일까?

=> 컴파일할 때 num1과 num2가 Int로 보장되지 않기 때문에 에러

num1이과 num2가 nullable타입이라서, 만약 nullable타입이 아닌 Int 형식이었으면 성공적으로 출력

=> 에러만 없애고자 한다면 num1!! + num2!! 라고하면 가능. (null 아님을 개발자가 보장하는 표기)

 

Null값은 비교 연산은 가능하다.

if (null == 5) {
	println("same")
} else {
	println("not same")
}
// not same 출력

if (null == null) {
	println("same")
} else {
	println("not same")
}
// same 출력