기본적으로 dart의 모든 변수는 non-nullable , null이 될 수 없음.
null safety는 개발자가 null값을 참조할 수 없도록 하는 것, 만약 코드에서 null 값을 참조하면 런타임에러가 발생함. 런타임에러는 사용자가 앱을 사용하던 중에 발생하는 에러라는 뜻. 즉 컴파일러가 못잡는 에러라 사용자 기기에서 발생함.
따라서 dart에서는 어떤 변수가 null이 될 수 있음을 정확히 명시해야함
void main() {
String? haro = 'haro';
haro = null;
if (haro != null) {
haro.isNotEmpty;
}
}
haro가 null이 아니라면 isNotEmpty 속성을 달라고 요청하는 것
void main() {
String? haro = 'haro';
haro = null;
haro?.isNotEmpty;
}
haro가 String일 수도, null일 수도 있다는걸 dart에게 알려주는 것.
어떤 데이터가 null일 때 참조하지 않도록!
flutter에서 API에서 data를 받아올 때 ?들을 볼 수 있음.