Null 안전성이란?
Coddy Kotlin 여정의 기초 섹션에 포함된 레슨. 93개 중 12번째.
많은 프로그래밍 언어에서 가장 흔한 오류 중 하나는 존재하지 않는 것, 즉 null 값에 접근하려고 하는 것입니다. 변수에 실제 데이터 대신 "아무것도 없는" 값이 들어 있을 때 이런 일이 발생합니다.
사용자에게 이름을 물었지만 사용자가 이름을 입력하지 않았다고 상상해 보세요. 먼저 확인하지 않고 코드에서 빈 이름을 사용하려고 하면 프로그램이 충돌합니다. 이런 유형의 버그는 매우 흔해서 "10억 달러짜리 실수"라고 불리기도 합니다.
Kotlin의 해결책: 널 안전성
Kotlin은 이러한 충돌을 없애도록 설계되었습니다. 기본적으로 Kotlin의 변수는 null 값을 보유할 수 없습니다:
fun main() {
var name: String = "Alice"
name = null // 오류! 컴파일되지 않습니다
}컴파일러는 코드가 실행되기도 전에 이 문제를 잡아냅니다. 이것이 Kotlin을 “널 안전(null safe)”하게 만드는 요소입니다. 언어 자체가 null을 사용해서는 안 되는 곳에서 실수로 사용하지 못하도록 막아 줍니다.
앞으로의 수업에서는 Kotlin을 사용해 실제로 필요할 때 null일 수도 있는 값으로 작업하면서도 코드가 충돌하지 않도록 안전하게 유지하는 방법을 배우게 됩니다.
챌린지
쉬움Kotlin의 null 안전성을 보여 주기 위해 null을 허용하지 않는 변수 두 개를 선언하세요:
- 값이
"Kotlin"인username이라는String변수 - 값이
100인score라는Int변수
그런 다음 println()을 사용해 두 값을 각각 별도의 줄에 출력하세요.
기억하세요: Kotlin에서 일반적인(null을 허용하지 않는) 타입에는
null값을 담을 수 없습니다. 컴파일러는 변수가 항상 유효한 데이터를 포함하도록 보장합니다.
직접 해보기
fun main() {
// TODO: 아래에 코드를 작성하세요
// 값이 "Kotlin"인 nullable이 아닌 String 변수 'username'을 선언하세요
// 값이 100인 nullable이 아닌 Int 변수 'score'를 선언하세요
// println()을 사용해 두 값을 각각 다른 줄에 출력하세요
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: Kotlin 플레이그라운드