Akashic Records

Null 안정성 본문

Kotlin for Beginners

Null 안정성

Andrew's Akashic Records 2023. 6. 2. 10:31
728x90

Null 안정성은 Kotlin 언어의 핵심 특징 중 하나입니다. Kotlin은 null 참조를 허용하지 않는 데이터 타입을 통해 NullPointer 예외를 방지합니다. 이를 통해 Kotlin 코드는 보다 안정적이고 명확해집니다.

 

  1. Null 불가 타입

Kotlin에서 변수를 선언할 때 타입 뒤에 물음표(?)를 붙이지 않으면 해당 변수는 null 값을 가질 수 없습니다. 이는 변수가 항상 non-null 값을 가지도록 보장합니다.

예제:

var nonNullString: String = "Hello, Kotlin!"
nonNullString = null  // 컴파일 오류

이 예제에서 nonNullString은 non-null String 타입이므로 null 값을 가질 수 없습니다.

 

  1. Null 가능 타입

변수가 null 값을 가질 수 있게 하려면 타입 뒤에 물음표(?)를 붙여야 합니다. 이를 통해 해당 변수는 null 값을 가질 수 있게 됩니다.

예제:

var nullableString: String? = "Hello, Kotlin!"
nullableString = null  // 이 코드는 문제 없음

이 예제에서 nullableString은 null 가능 String 타입이므로 null 값을 가질 수 있습니다.

 

  1. Null 검사

Null 가능 타입의 변수를 사용하기 전에는 해당 변수가 null인지 확인해야 합니다. 이를 위해 ?., ?:, !!. 등의 연산자를 사용할 수 있습니다.

예제:

var nullableString: String? = "Hello, Kotlin!"
val length: Int? = nullableString?.length  // null이 아니면 길이를 반환, null이면 null을 반환
val lengthOrDefault: Int = nullableString?.length ?: 0  // null이 아니면 길이를 반환, null이면 0을 반환
val lengthOrCrash: Int = nullableString!!.length  // null이 아니면 길이를 반환, null이면 NullPointerException을 던짐

이 예제에서 nullableString은 null 가능 타입이며, length, lengthOrDefault, lengthOrCrash 변수는 각각 ?., ?:, !!. 연산자를 사용하여 nullableString의 길이를 계산합니다.

 

Kotlin의 null 안정성은 코드의 안정성을 높이고 NullPointerException을 방지하는 데 중요한 도구입니다. 이를 통해 Kotlin은 보다 안정적인 코드 작성을 가능하게 합니다.

728x90

'Kotlin for Beginners' 카테고리의 다른 글

익스텐션 함수  (0) 2023.06.02
람다 표현식  (0) 2023.06.02
추상화와 캡슐화  (0) 2023.06.01
상속과 다형성  (0) 2023.06.01
클래스와 객체  (0) 2023.06.01
Comments