학습목표
1. dart Null Safety
2. null check 연산자와 null 병합 연산자
3. null 억제 연산자 또는 null assert 연산자
4. late 키워드에 대해 알아 보자
1. dart Null Safety 이란 뭘까?
널 세이프티(Null Safety)는 개발자가 널 에러를 피할 수 있도록 도와주는 다트 프로그래밍 언어의 기능입니다. 이 기능은 사운드 널 세이프티 인 다트(Sound Null Safety in dart)라고 불리며, 이를 통해 개발자는 코드 작성 시점에 널 에러를 잡을 수 있습니다.
Sound Null Safety in dart 이란 (Sound Type System)
런타임 중에 null 포인터 예외를 방지하기 위해 Dart 컴파일러가 코드를 분석하고 컴파일할 때 타입 시스템에서 엄격한 규칙을 적용하는 것을 의미합니다.
Dart Null Safety의 개념
- Null Safety는 변수에 null 값을 할당하는 것을 엄격하게 제한합니다.
- 변수를 null 또는 non-null로 선언할 수 있습니다.
- Non-null 변수는 null을 가질 수 없으며, null 변수는 null만을 가질 수 있습니다.
- Null Safety는 Dart 2.12 버전부터 기본으로 활성화되었습니다.
2. null check 연산자와 null 병합 연산자
null check 연산자와
Dart 언어에서 null 체크 연산자 (?)는 null 값일 수 있는 객체의 속성이나 메서드에 안전하게 접근하는 데 사용됩니다. 이 연산자는 null 참조 오류를 방지하고 코드를 더 견고하게 만듭니다. Dart에서 null 체크 연산자의 주요 두 가지 사용법이 있습니다 (속성과 메서드)
ex) Person person = Person();
person.phone;
null 병합 연산자
Dart 언어에서 null 병합 연산자 (??)는 null 값 처리에 유용한 연산자입니다. 이 연산자를 사용하면 변수나 표현식의 값이 null인 경우에 대체 값을 지정할 수 있습니다. null 병합 연산자를 사용하여 코드를 더 간결하고 안전하게 작성할 수 있습니다.
3. null 억제 연산자 또는 null assert 연산자
Dart에서 ! 기호는 "null 억제 연산자" 또는 "null assert 연산자"라고 불립니다. 이 연산자는 nullable 변수나 nullable 표현식을 사용할 때 해당 값이 null이 아님을 명시적으로 나타내는 데 사용됩니다.
! 연산자를 사용하는 것은 개발자가 해당 값이 null이 아님을 확신하고, 예외를 발생시키지 않기를 원할 때 유용합니다. 그러나 만약 해당 값이 null인 경우, 런타임 예외가 발생할 수 있으므로 주의해야 합니다.
4. late 키워드에 대해 알아 보자
late 키워드는 일반적으로 non-nullable 변수를 나타내는 late 변수를 정의할 때 사용됩니다. late로 선언된 변수는 초기화를 미루고, 변수가 실제로 사용되기 전에 초기화됩니다.
late 키워드를 사용하는 이유
변수를 정의할 때 초기화할 수 있는 시점이나 방법이 없는 경우.
변수를 생성자나 함수에서 나중에 초기화해야 하는 경우.
변수를 사용하기 전에 null 여부를 확인하거나 예외 처리를 할 필요가 없는 경우.
'Flutter > Dart' 카테고리의 다른 글
dart 비동기 프로그래밍 -2 (0) | 2023.09.19 |
---|---|
dart 비동기 프로그래밍 -1 (0) | 2023.09.19 |
dart 제네릭 (0) | 2023.09.19 |
dart Mixin(믹스인) 클래스 (1) | 2023.09.19 |
dart 인터페이스 (0) | 2023.09.19 |