널 안전성이란?
- 변수 또는 객체의 값이 null인지 아닌지 명확하게 정의하고 코드 실행 중에 발생할 수 있는 널 포인터 예외를 방지하고 안정성을 높이는 기능이다
- 널 안정성을 프로그램의 신뢰성을 향상시키며 버그와 예외를 줄이는 데 도움이 된다
- 변수, 매개 변수 또는 기타 관련 구성요소에 대한 유형을 지정할 때 해당 유형이 허용하는지 여부를 제어할 수 있으며 Null 허용 여부를 활성화 하려면 유형 선언 끝에 ? 물음표를 추가한다
- 변수를 선언하면서 초기값을 주지 않으면 자동으로 널로 초기화 된다, 널 불허로 선언한 변수는 선언과 동시에 널이 아닌 값으로 초기화 해야한다
- var 타입에는 ?물음표를 사용할 수 없다 var로 선언한 변수에 null 값을 주고 싶으면 dynamic 타입으로 대입하여야 null을 포함시킬 수 있다
- dynamic 타입에는 물음표를 추가할 수 있지만 의미는 없다. 사실 모든 데이터를 대입할수 있기 때문이다
연산자
1. 널인지 점검할 때 : !
- 변수 이름 뒤에 ! 연산자를 추가하면 이 변수값이 null일때 런타임 오류가 발생한다
2. 멤버에 접근할 때 : ?, ?[]
- null이 아닐때는 데이터에 접근 할 수 있으면 null이면 null을 반환한다
3. 값을 대입할 때 : ?? =
- 널 허용 변수에 널이 아닌 값만 대입하고 싶을때 사용
- ??= 연산자는 오른쪽의 대입할 값이 널이 아닐때만 대입하고 널이면 대입하지 않는다
4. 값을 대체할때 :??
- 널 허용 변수가 널일 때 대체할 값을 지정하고 싶을 때 사용
Sound null safety
Information about Dart's null safety feature
dart.dev
'기초다지기 > Flutter&Dart' 카테고리의 다른 글
flutter TextField를 이용한 Email Form 유효성 체크 (0) | 2023.10.25 |
---|---|
flutter Navigator 메서드 (0) | 2023.10.25 |
flutter Spacer class (0) | 2023.10.25 |
flutter camara 패키지 AppLifecycleState 앱 상태 확인 (0) | 2023.10.04 |
flutter Image_picker 사용방법 (0) | 2023.09.27 |