안드로이드/기초
[ Kotlin ] Null
자바칩 코드팍치노
2022. 1. 25. 15:45
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 출력