[kotlin] nullable 변수와 non-null 변수

변수를 다룰 때 가장 중요한 것 중 하나는 변수가 null 값을 가질 수 있는지 여부입니다. Kotlin에서는 이러한 변수의 선언과 다루는 방법을 지원합니다.

Nullable 변수

Nullable 변수는 null 값을 포함할 수 있는 변수를 말합니다. 이러한 변수를 선언할 때는 변수 타입 뒤에 물음표(?) 기호를 붙입니다.

var nullableVar: String? = null

이후에 해당 변수를 사용할 때는 안전 호출(?.)이나 엘비스 연산자(?:)를 사용하여 null 여부를 체크하고 안전하게 처리할 수 있습니다.

val length: Int? = nullableVar?.length ?: 0

Non-nullable 변수

Non-nullable 변수는 null 값을 가질 수 없는 변수를 말합니다. 변수를 선언할 때 기존의 방식으로 타입만 지정하면 됩니다. 이후에 해당 변수를 사용할 때는 null 여부를 따로 체크할 필요가 없습니다.

val nonNullableVar: String = "Hello, World!"
val length: Int = nonNullableVar.length

언제 어떤 변수를 사용해야 할까?

Nullable 변수와 Non-nullable 변수 중 어떤 것을 사용해야 할지는 상황에 따라 다릅니다. 변수가 항상 값이 있어야 하는 경우에는 Non-nullable 변수를 사용하고, 값이 null일 수 있는 경우에는 Nullable 변수를 사용합니다.

Kotlin은 이 두 가지 변수 선언 방식을 지원함으로써 안전하고 명확한 코드를 작성할 수 있도록 도와줍니다.

본 내용은 Kotlin 공식 문서의 Nullable types 문서를 참고하였습니다.


작성자: 산돌