반응형
Notice
Recent Posts
Recent Comments
Link
불로구
[코틀린 기초] 4. 코틀린 NULL 본문
반응형
코틀린은 변수를 사용할 때 반드시 값이 할당되어 있어야 한다.
값이 없는 상태를 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이면 오른쪽 값을 대입시켰다.
반응형
'프로그래밍 > 코틀린' 카테고리의 다른 글
[코틀린 기초]6. 자료형 (2) (0) | 2021.02.14 |
---|---|
[코틀린 기초] 5. 자료형 비교 & 변환 (0) | 2021.02.09 |
[코틀린 기초] 3. 코틀린 자료형 (0) | 2021.02.08 |
[코틀린 기초] 2. 코틀린 변수 (0) | 2021.02.08 |
[코틀린 기초] 1. 코틀린 패키지 (0) | 2021.02.08 |
Comments