본문 바로가기
2학년 2학기/모바일 소프트웨어 - 코틀린

Kotlin_Basic03 - null 처리

by kkkkk1023 2024. 9. 20.

우리는 변수에 값이 null일수도 있고 아닐 수도 있는 경우를 위해서 nullable 타입을 사용해왔다. 

다만 이 타입을 사용한 변수를 사용할 때는 늘 이 변수가 null 값을 가질 수 있다는 생각에 안전조치를 해야했다.

 

val str1: Any = "hello"
val str2: Any = null

fun checkTypecast(s: Any?): Sting? {
	val newStr = s as? String ?: return null
    if(newStr.isNotEmpty()){
        return newStr.lowercase()
    }
    return ""
}

 

이렇게 위와 같이 as 연산자를 이용하든, 변수를 사용하든 ?를 붙여줘야 했다. 하지만 이런 수고를 덜어줄 수 있는 방법이 있다.

 

바로 해당 변수를 사용하기 전 해당 변수가 null 이면 바로 반환하는 코드를 작성하면 된다.

 

val str1: Any = "hello"
val str2: Any = null

fun checkTypecast(s: Any?): Sting? {
    if(s == null) return null
	val newStr = s as String
    if(newStr.isNotEmpty()){
        return newStr.lowercase()
    }
    return ""
}

 

이렇게 null일 경우 바로 반환하는 코드를 작성하면 다음 코드를 작성할 때 null 일 경우를 대비한 장치를 하지 않아도 된다.