Menu
CoddyTech

기본 Null 안전성

Coddy Dart 여정의 기초 섹션에 포함된 레슨. 94개 중 14번째.

널 안전성은 어떤 변수가 비어 있을 수 있는지(null)를 제어하여 예상치 못한 앱 충돌을 방지하는 데 도움이 됩니다.

기본적으로 변수에는 값이 들어 있어야 합니다:

void main() {
  String name = 'Dart';
  print(name);  // 출력: Dart
  
  // 이렇게 하면 문제가 발생합니다:
  // name = null;  // 허용되지 않음
}

널 값을 허용하려면 타입 뒤에 ?를 추가하세요:

void main() {
  String? name = 'Dart';
  print(name);  // 출력: Dart
  
  // 이제 null을 할당할 수 있습니다
  name = null;
  print(name);  // 출력: null
}

모든 타입의 nullable 변수를 선언할 수 있습니다:

void main() {
  int? age;  // 초기값이 없으면 기본값은 null입니다
  double? price = 19.99;
  bool? isAvailable = true;
  
  print(age);         // 출력: null
  print(price);       // 출력: 19.99
  print(isAvailable); // 출력: true
  
  // 이들 중 어느 것이든 null로 바꿀 수 있습니다
  price = null;
  isAvailable = null;
}

 

널 안전성은 코드가 연산에서 null 값을 사용하려고 할 때 발생하는 예상치 못한 앱 충돌로부터 앱을 보호하는 데 도움이 됩니다.

challenge icon

챌린지

초급

? 연산자를 사용하여 기본적인 null 안전성을 보여 주는 Dart 프로그램을 작성하세요:

  1. username이라는 이름의 String 변수를 선언하고 null 안전성 연산자 ?를 사용하여 null로 설정하세요(String?).
  2. userAge라는 이름의 int 변수를 선언하고 null 안전성 연산자를 사용하여 null로 설정하세요.
  3. 두 변수와 레이블을 다음과 같은 정확한 형식으로 출력하세요:
Username: null
User age: null

그런 다음:

  1. username 변수에 "DartLearner" 값을 할당하세요.
  2. userAge 변수에 25 값을 할당하세요.
  3. 두 변수를 앞과 정확히 같은 형식으로 다시 출력하세요.

출력은 위에 표시된 정확한 형식과 일치해야 합니다.

직접 해보기

void main() {
  // 여기에 null을 허용하는 변수를 선언하세요
  String? username = ?;
  int? userAge = ?;
  
  // 초기값을 레이블과 함께 출력하세요
  print("Username: " + username.toString());
  print("User age: " + userAge.toString());
  
  // 변수에 새 값을 할당하세요
  username = ?;
  userAge = ?;
  
  // 변경된 값을 같은 레이블과 함께 출력하세요
  print("Username: " + username.toString());
  print("User age: " + userAge.toString());
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: 온라인 Dart 컴파일러