Nullable 타입
Coddy Kotlin 여정의 기초 섹션에 포함된 레슨. 93개 중 13번째.
때로는 "아무것도 없음"을 저장할 수 있는 변수가 정말 필요합니다. 예를 들어 사용자의 중간 이름이 없을 수도 있고, 검색 결과가 없을 수도 있습니다. Kotlin에서는 null을 허용하는 타입을 통해 이를 가능하게 합니다.
타입을 nullable로 만들려면 타입 이름 뒤에 ?를 추가하세요:
fun main() {
var middleName: String? = "Marie"
middleName = null // 이제 허용됩니다!
val age: Int? = null // Int 또는 null을 가질 수 있습니다
}?는 Kotlin에 "이 변수는 null일 수 있으므로 주의해서 사용하세요."라고 알려줍니다. ?가 없으면 해당 타입은 null을 허용하지 않으며 null을 담을 수 없습니다.
중요: nullable 타입과 non-nullable 타입은 서로 다릅니다. nullable 값을 non-nullable 변수에 직접 할당할 수 없습니다:
fun main() {
val nullableName: String? = "Alice"
val regularName: String = nullableName // 오류!
}이 구분은 의도된 것입니다. 값을 사용하기 전에 null일 가능성을 처리하도록 하기 때문입니다. 다음 레슨에서는 Kotlin이 nullable 값을 다루기 위해 제공하는 안전한 방법을 배우게 됩니다.
챌린지
쉬움다음 nullable 변수를 선언하세요:
- 값이
"Shadow"인nickname이라는 nullableString - 값이
null인age라는 nullableInt - 값이
99.5인balance라는 nullableDouble
그런 다음 println()을 사용하여 세 값을 각각 별도의 줄에 출력하세요.
nullable로 만들려면 타입 이름 뒤에
?를 사용하는 것을 잊지 마세요.null값을 출력하면null이라는 단어가 표시됩니다.
직접 해보기
fun main() {
// TODO: 다음 nullable 변수들을 선언하세요:
// 1. "Shadow" 값을 가진 'nickname'이라는 이름의 nullable String
// 2. null 값을 가진 'age'라는 이름의 nullable Int
// 3. 99.5 값을 가진 'balance'라는 이름의 nullable Double
// 그런 다음 세 값을 모두 별도의 줄에 출력하세요
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: Kotlin 플레이그라운드