[Kotlin 깃북] Ch3 코틀린 사용을 위한 기본 문법 8. null 값에 대한 안정적인 처리: Null Safety

0
post-thumbnail

[Kotlin 깃북] Ch3 코틀린 사용을 위한 기본 문법

8. null 값에 대한 안정적인 처리: Null Safety

null 값 허용하기 ?

  • null 값을 허용하기 위해 변수를 선언할 때 타입 뒤에 ?(Nullable) 입력
  • 함수 파라미터에 null 허용하는 경우, 해당 파라미터 null 체크 해야 사용 가능
fun nullParameter(str: String?){ // 파라미터 str에 null 허용
    if (str != null) {    // null 체크를 해야 str 사용가능
        var length2 = str.length
    }
}
  • 함수의 리턴 타입 Nullable하지 않으면 null 값 리턴 불가능
fun nullReturn(): String? {
    return null
}

안전한 호출 ?.

  • Safe call
  • 해당 변수가 null일 경우 메서드/프로퍼티 호출하지 X
fun testSafeCall(str: String?): Int? {
    // str이 null이면 length를 체크하지 않고 null을 반환합니다.
    var resultNull: Int? = str?.length
    return resultNull
}

Null 값 대체하기 ?:

  • Elvis Operator
  • 해당 변수가 null일 때 대체될 값 설정
fun testElvis(str: String?): Int {
    // length 오른쪽에 ?:을 사용하면 null일 경우 ?: 오른쪽의 값 반환
    var resultNonNull: Int = str?.length ?: 0
    return resultNonNull
}
profile
Be able to be vulnerable, in search of truth

0개의 댓글