코틀린의 안전한 호출 연산자(?.)는 변수나 객체의 프로퍼티 또는 메서드 호출을 수행할 때, 해당 변수나 객체가 null인 경우에도 예외를 발생시키지 않고 null을 반환하는 연산자입니다. 이 연산자를 사용하여 null 체크를 간편하게 수행할 수 있습니다.
프로퍼티 접근
val length: Int? = str?.length
위의 코드에서 str이 null이 아닌 경우에는 length에 문자열 길이를 할당하고, str이 null인 경우에는 length에 null을 할당합니다.
메서드 호출
val uppercase: String? = str?.toUpperCase()
위의 코드에서 str이 null이 아닌 경우에는 문자열을 대문자로 변환한 값을 uppercase에 할당하고, str이 null인 경우에는 uppercase에 null을 할당합니다.
안전한 호출 연산자 체이닝
val result: Int? = person?.address?.zipCode?.length
위의 코드에서 person이 null이면 result에 null을 할당하고, 그렇지 않으면 person의 address가 null이면 마찬가지로 null을 할당하며, address가 null이 아니라면 zipCode의 길이를 result에 할당합니다.
함수 호출
val result: String? = calculateValue()?.toString()
위의 코드에서 calculateValue()가 null이면 result에 null을 할당하고, 그렇지 않으면 calculateValue()의 반환값을 문자열로 변환하여 result에 할당합니다.
안전한 호출 연산자를 사용하면 코드가 간결해지고, null 체크를 명시적으로 처리할 필요가 없어집니다. 이는 코드를 더 안전하게 만들고 널 처리를 편리하게 수행할 수 있도록 도와줍니다.
With ChatGPT
'Kotlin > 포스팅' 카테고리의 다른 글
코틀린 프로퍼티 (0) | 2023.12.30 |
---|---|
코틀린 엘비스 연산자 (0) | 2023.12.30 |
코틀린 널 아님 단언 연산자 (0) | 2023.12.30 |
코틀린 스마트 캐스트 (0) | 2023.12.30 |
코틀린 널 가능성 (0) | 2023.12.30 |