더북(TheBook)

새 클래스를 정의할 때마다 코틀린은 자동으로 널이 될 수 있는 타입과 널이 될 수 없는 타입을 추가해준다.

NullableTypes/Amphibian.kt

package nullabletypes

class Amphibian

enum class Species {
  Frog, Toad, Salamander, Caecilian
}

fun main() {
  val a1: Amphibian = Amphibian()
  val a2: Amphibian? = null
  val at1: Species = Species.Toad
  val at2: Species? = null
}

예제를 보면 알 수 있듯이, ‘널이 될 수 없는 타입’에 대응하는 ‘널이 될 수 있는 타입’을 정의하기 위해 무언가 특별한 일을 할 필요는 없다. 널이 될 수 없는 타입을 정의하면 널이 될 수 있는 타입도 자동으로 사용할 수 있게 된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.