[Kotlin] 예외처리 - Safe Call, Elvis 연산자

해니·2024년 10월 22일

Kotlin

목록 보기
5/9
post-thumbnail

null이 가능한 타입


fun startsWithA(str: String): Boolean {
    return str.startsWith("A")
}

: str 뒤에 물음표(?) 연산자가 없어, null이 들어오지 않음을 보장해주므로, startsWith()라는 함수를 불러올 수 있다.



fun startsWithA(str?: String): Boolean {
    return str.startsWith("A")
}

: str 뒤에 물음표(?) 연산자가 있어, strnull이 들어올 수 있으므로, startsWith() 함수를 바로 불러올 수 없다.



🔎 물음표(?) 연산자
: 기본적으로 변수(프로퍼티)에 null값이 들어갈수 없기 때문에, null을 허용한다는 의미의 ?을 변수 선언 시 붙여준다.




Safe Call

  • 안전하게 불러오는 것을 의미한다.

  • ?. 을 통해 null 이 들어올 수 있는 값이 npe이 발생하지 않도록 한다.

  • null이 아니면 실행하고, null이면 null을 반환환다.


val str1: String? = "ABC"
val str2: String? = null
println(str1?.length) //-> 3
println(str2?.length) //-> null



Elvis 연산자

  • 앞의 연산 결과가 null 이면 Elvis 연산자 뒤의 값을 사용한다.
  • ?: 형태
val str: String? = "ABC"
str?.length ?: 0 // str이 null이면 0을 반환

?: 를 시계 방향으로 돌려보면 엘비스 프레슬리의 머리 모양을 닮아서 엘비스 연산자라고 부른다고 한다.. 🤓




출처

Kotlin에서 예외 처리 하기(Safe Call과 Elvis 연산자 활용)
Java 개발자의 Kotlin 기본 문법 정복기

profile
💻 ⚾️ 🐻 이전했어요..! ➡️ https://dev-haeni.tistory.com/

0개의 댓글