Null safety란?
- NULL : null은 부재(없음, 아무것도 있지 않음)이다.
- null safety는 개발자가 null값을 참조할 수 없도록 하는 것
- 코드에서 null 값 참조시 Runtime Error(사용자가 사용시에 발생하는 문제) 발생 : 컴파일러가 잡아내지 못한다.
- Dart는 몇몇 구버전에 대해서는 null safety가 없을수도 있다.
Null safety 방식
- dart에서는 어떤 변수가 null이 될 수 있음을 정확히 표시해야한다.
- 어떠한 변수가 null값이 될 수도 있음을 나타내기 위해서는 변수 선언시에 자료형 뒤에 '?'를 붙여줘야 한다.
- 기본적으로 모든 변수들은 non-nullable이고, 자료형 뒤에 '?'을 붙여줌으로써 nullable로 만들 수 있다. 예를들어,
변수 ena는 string이 될 수도, null이 될 수도 있다.void main() { String? name = 'ena'; name = null; }
따라서 string method인.length
를 사용하려고 하는 경우에, 컴파일러가ena.length
의ena
가 null 값일수도 있음을 알려준다.
사용시에는, 조건문을 넣어 변수가 null인지 아닌지 확인하는것이 좋다.
위보다 단순하게 작성하려면 다음과 같이 할 수 있다.void main() { String? name = 'ena'; name = null; if (name != null){ name.isNotEmpty; }
이는 ena가 null이 아니라면 isNotEmpty속성을 달라고 요청하는 것이다.void main() { String? name = 'ena'; name = null; name?.isNotEmpty;
* *노마드 코더님의 dart강의 내용 정리한 것입니다 **
'Dart&Flutter' 카테고리의 다른 글
[Dart&Flutter] Provider pattern 프로바이더 패턴 (2) - prop, hook, HOC pattern (0) | 2025.03.26 |
---|---|
[Dart&Flutter] Provider pattern 프로바이더 패턴 개념 (1) (0) | 2025.03.26 |
[Dart&Flutter] Dart 입문 (2) - Dart 변수 (dynamic type) (0) | 2025.03.26 |
[Dart&Flutter] Dart 입문 (1) - 컴파일 방식, dart 특징 (0) | 2025.03.26 |
[Dart&Flutter] Windows 환경에서 Vscode 활용에 개발 환경 구축 및 오류 해결 (0) | 2025.03.26 |