안녕하세요. BlockDMask입니다.
오늘은 Dart 문법 중에서 Null Safety (널 세이프티)와 관련된 중요한 개념들을 소개해 보겠습니다.
다양한 곳에서 많이 쓰이는 !, ?, ??, ??= 연산자에 대해 알아보고, 안전한 null 처리를 위한 기법들도 함께 살펴보겠습니다.
오늘 포스팅을 보면, 더 안정적이고 신뢰할 수 있는 코드를 작성할 수 있습니다.
Null Safety가 왜 중요한가?
Dart의 널 세이프티는 코드의 안정성을 높이는 중요한 기술입니다. Null Safety를 통해 변수에 null 값이 들어가는 것을 방지하거나, null 값으로 인해 발생할 수 있는 오류(Null Pointer Exception)를 사전에 차단할 수 있습니다. 이는 앱의 크래시를 줄이고, 런타임 에러를 예방하여 더 신뢰성 있는 코드를 작성할 수 있게 합니다.
주요 이점:
- 안정성 향상: Null 참조로 인한 오류 방지.
- 코드 가독성 개선: 변수의 null 가능성을 명확히 표현
- 컴파일 단계에서 오류 감지: 런타임이 아닌 컴파일 타임에 오류를 발견.
(null이란? : 값이 없음을 나타내는 특별한 데이터입니다. 이 값이 없는 곳에 접근을 하게 되면 에러가 발생합니다.)
다트 !, ?, ??, ??= 연산자 설명 및 예제
널 관련 연산자는 아래 4가지가 있습니다.
각자 부르는 명칭이 있으니 참고하세요.
!(Null Assertion), ?(Null-aware), ??(Null-coalescing), ??=(Null-coalescing Assignment)
각각은 모두 연산자(Operator)입니다.
각 역할이 다르기 때문에 잘 구분하셔야 합니다.
1. ! (Null Assertion Operator)
! 연산자는 변수의 값이 절대로 null이 아님을 개발자가 확신할 때 사용합니다.
만약 null인 값에 ! 를 사용하면 런타임 에러가 발생합니다. (정말 확신하는 경우 사용!)
사용시기: 값이 null이 아님을 100프로 확신할 때만 사용
2. ? (Null-aware Operator)
? 는 null 가능성이 있는 객체에 접근할 때 사용합니다.
객체가 null이면 null을 반환하고, 그렇지 않으면 해당 프로퍼티나 메서드를 호출합니다.
(즉, null 이 아니면 ? 뒤에 있는 걸 실행함)
사용시기: 객체가 null일 수 있을 때 안전하게 접근하기 위해 사용.
3. ?? (Null-coalescing Operator)
?? 는 왼쪽 피연산자가 null이면 오른쪽 값을 반환합니다.
사용시기: 기본값을 사용하고 싶을 때 사용.
4. ??= (Null-coalescing Assignment Operator)
??= 는 변수가 null일 경우에만 값을 할당합니다.
(변수가 null이 아니면 무시)
사용시기: 변수에 값이 없을 때 기본값을 설정할 때 유용.
5. 안전한 다트 Null 처리 기법 예제 종합
Null Safety 기능을 잘 활용해서 안전한 Dart 코드 작성하시길 바랍니다.
이상, 오늘은 다트 널 세이프티 연산자 4종에 대해서 알아보았습니다.
감사합니다.
'<개인공부> > [Flutter, Dart]' 카테고리의 다른 글
[Dart] 다트 확장 메서드(Extension Methods) - 클래스에 기능 추가 (0) | 2025.02.10 |
---|---|
[Dart] 다트 .. (캐스캐이드 연산자) 정리 (0) | 2025.02.05 |
[Flutter] 플러터와 안드로이드 스튜디오 설치 총정리 (10) | 2020.09.10 |
[Dart] 다트 기본 문법 정리 2편 (is, as) (2) | 2020.05.16 |
[Dart] 다트 기본 문법 정리 1편 (자료형, 연산자, 주석) (0) | 2020.05.10 |