본문 바로가기
Flutter/개념

Dart 기본기 - null 사용법

by 윤숩 2025. 2. 3.
728x90
728x90

// nullable - null이 될 수 있다.

// non-nullable - null이 될 수 없다.

// null - 아무런 값이 있지 않다.

 

String name = '이름';
print(name); // 이름


name = null // 오류 => 기본적으로 String 타입은 null 값을 허용하지 않습니다.

 

오류 해결방법

// ✅ String? (nullable 타입) 사용
String? name = '이름'; // name은 null이 될 수 있음
print(name); // 출력: 이름

name = null; // 이제 오류 없음
print(name); // 출력: null

 

 ⚠️ null 처리 시 주의할 점 

 

1. ✅ ! 연산자 (null이 아님을 확신할 때)

String? name = '이름';
print(name!.length); // name이 null이 아니라면 정상 실행

 

-  name! → name이 null이 아님을 개발자가 보장하는 경우 사용.
- 하지만 name이 null이면 런타임 오류 발생!

 

2. ✅ ?? 연산자 (null이면 기본값 사용)

String? name = null;
print(name ?? '기본 이름'); // 출력: 기본 이름

 

- ?? 연산자는 name이 null이면 '기본 이름'을 사용.

 

3. ??= 연산자 (null이면 값 할당)

String? name;
name ??= '새로운 이름'; // name이 null이면 할당
print(name); // 출력: 새로운 이름

 


 

  • String → null 허용 ❌ (기본 타입, null 할당 시 오류 발생)
  • String? → null 허용 ✅ (name = null; 가능)
  • null이 될 가능성이 있으면 String?을 사용하고, null 처리 연산자 (??, ??=, !)를 활용하면 안전하게 사용할 수 있음.

 

728x90
728x90

댓글