본문 바로가기

학습 노트/Kotlin (2024)

005. nullSafety

val data: String? = "call me maybe."

kotlin의 변수들은 기본적으로 null을 허용하지 않는데, 이를 가능하게 하는 것이 존재한다.
swift의 optional과 거의 동일한 기능의 nullable인데 형태도, 사용법도, 기능도 굉장히 비슷하다.

if (data != null) {
    println(data.uppercase())
}

println(data?.uppercase())

null을 포함할 수 있기 때문에 두 번째 줄과 같이 간편하게 데이터의 유효성을 체크할 수 있고

val num1: Int = 3
val num2: Int? = 10
val num3 = num1 + num2 //(X)

null을 포함할 수 있기 때문에 기본 변수와는 다른 타입으로 간주하고, 바로 연산을 진행할 수도 없다.

val num1: Int = 3
val num2: Int? = 10
val num3 = num1 + num2 as Int

따라서 위와 같이 캐스팅도 해야하고

val num1: Int = 3
val num2: Int? = 10
val num4 = num1 + num2!!

강제 언랩핑도 존재한다.

cities.company?.address?.streetAddress ?: "Unknown"

체이닝도 존재하고, 형태는 조금 다르지만 (이름도 엘비스 연산자...) swift의 '??'와 동일한 기능을 하는 연산자도 있다.

'학습 노트 > Kotlin (2024)' 카테고리의 다른 글

004. loop와 function  (0) 2024.05.05
003. 조건문과 array 그리고 list  (0) 2024.05.05
002. 기본 연산자들  (0) 2024.05.04
001. 출력과 기본 자료형  (0) 2024.05.04