Flutter Null Safety 쉽게 이해하기 플러터 널세이프티 스타디
Flutter Null Safety 플러터 널세이프티 스타디
Flutter 2.0(2021년 3월 이후) 부터 Null Safety가 적용되어 그 이전에 강의 자료들을 보면 차이가 있어서 공부해둬야 합니다.
왕초보용으로 작성한 내용이며, 하나씩 차근히 이해하기 쉽게 작성해 봅니다.
Null ? (Nullable)
널이란 사전적 의미로 값이 없음을 의미합니다.
0이 아니라 아예 아무런 값이 없는 상태입니다.
코딩을 할때 변수는 특정한 값을 저장하는 공간이라면 그 공간에 아무런 값이 없는 상태인 것입니다.
변수를 선언하고 나서 바로 값을 넣어 둘 수도 있겠지만 일단 변수만 지정해 놓고 값은 나중에 사용자가 입력하는 값을 받아서 저장하는 경우는 변수가 널 상태로 계속 있습니다.
그런데 비어 있는, 아무 값도 없는 변수를 가지고 계산을 하게 되면 앱이나 프로그램을 사용 중에 에러가 날 것입니다.
이런 에러가 발생하지 않도록 코딩 단계에서 파악할 수 있도록 알려주는 것이 Null Safety입니다.
Null에 대한 문제가 발생하지 않도록 안전하게 해주는 Safety한 것, 이것이 Null Safety입니다.
이 설명에 굳이 코드는 필요 없습니다.
자 다시 돌아가서 모든 자료형, 변수 타입은 기본적으로 Null을 허용하지 않습니다. 하지만 Null 또한 하나의 중요한 자료형, 타입입니다.
Null을 허용하는 것을 표시할 때 변수 타입 뒤에 ? 물음표를 붙입니다.
예를 들면 int? 이렇게 붙입니다. 이 경우 int 정수형으로 선언된 변수에 아무값도 없을 수 있다라는 것을 의미합니다.
?을 붙여서 널일 수 있다는 것을 표시해 주지만 실제 그 변수를 사용할 때 널이라면 에러가 발생한다. 이 때 널이 아니라고 알려줘야 합니다.
! 느낌표 Exclamation Mark (Non-Nullable)
그 다음은 널이 절대로 아니다라고 할 때 !를 적어 줍니다. int! 이렇게 표현합니다.
Null Safety 관련된 것은 ? ! 물음표, 느낌표 이 두 가지만 생각하면 됩니다.
기타 관련 사항도 있지만 중요한 것을 아는 것이 중요합니다.
핵심만 제대로 이해하고 나머지는 개발하면서 더 공부하고 이해하면 됩니다.
Null Safety 핵심 요약 Key Point
변수 선언 변수 타입 뒤에 ?를 붙이면 Null 일 수도 있다는 것이고, !를 붙이면 널이 아닌 값이 무조건 있다는 것을 의미합니다.
참고로 ? ! 를 Null Safety Operator라고 합니다.
국내 1위 플러터 스터디 카페, 스타디
https://cafe.naver.com/wanganmo