🎯 Dart의 ?? 연산자 사용법 및 null 처리 패턴

Dart 문법

초급 난이도
문법 타입
11/02 등록일

Dart의 ?? 연산자 사용법 및 null 처리 패턴

초급
태그
기초 문법 입문 null 처리 타입 추론
## 개요
?? 연산자는 null 값이 할당된 변수에 기본 값을 제공하는 Dart의 null 안전 기능입니다. null을 처리할 때 발생하는 예외를 방지하고, 명확한 코드 구조를 만듭니다.

## 주요 특징
- null 값 대체 시 기본값 설정
- null 연산자 ?와 함께 사용해 안전한 접근 가능
- 타입 추론과 결합해 간결한 코드 작성

## 사용법
```dart
String name = getName();
String greeting = 'Hello, ${name ?? 'Guest'}!'; // name이 null일 경우 'Guest'로 처리

final user = User()..email = getEmail();
final email = user.email ?? 'no-email@example.com';
```

## 주의사항
- ?? 연산자는 null 값만 대체합니다. undefined나 비어 있는 문자열은 처리되지 않습니다.
- null을 명시적으로 처리해야 하는 경우 ? 연산자와 함께 사용해야 합니다. 예: user?.email ?? 'default'
- 변수가 반드시 null일 수 없는 타입이라면 ??는 필요하지 않습니다.

## 관련 문법
- Null Safety(Null-aware 기능)
- Optional Chaining(? 연산자)
- Type Inference(타입 추론)
코드 예제
void main() {
  String? name = null;
  String greeting = '안녕하세요, ${name ?? '게스트'}!';
  print(greeting); // 출력: 안녕하세요, 게스트!

  final User user = User();
  final email = user.email ?? 'no-email@example.com';
  print(email);
}

class User {
  String? email;
}
등록일: 2025년 11월 02일 02:36
언어 정보
언어
Dart
카테고리
Mobile
인기도
#15
학습 팁
코드를 직접 실행해보세요
변수를 바꿔가며 실험해보세요
오류가 나도 포기하지 마세요
다른 예제도 찾아보세요