본문 바로가기

책 리뷰/깡샘의 플러터 &다트

Flutter : 널 포인트 예외 관리하기

반응형

null은 뭘까

 

값인데 아무 값도 없다. 

아무 값도 없지만 값이다. 

 

식당에 들어가서 테이블에 앉았다. 

 

일행이 오면 주문을 하겠다고 직원에게 알려주었다. 

 

직원은 그 테이블에 주문은 없지만 

 

곧 주문이 생길 것이라고 인지하고 있다. 

 

이게 내가 이해하는 null이다. 

 

모든 코딩 지식을 외식업으로 이해하는 나..ㅋㅋ 직업병이다....ㅎㅎ

 


null 허용과 불허 

다트의 기본적으로 변수는 null 불허이다. 

해당 변수 값에 null을 지원하려면 ? 을 붙이면 된다 .

 

int a1 =10;
int? a2=10;

 

 

null 불허와 변수의 초기화

변수는 값을 담는 공간이다. 

그렇기 때문에 변수를 선언할 때 값을 지정해줘야 한다. 

 

 

int a1=10;  // 오류 안남
int a1;   // 오류가 남 ***

int? a2=10;  // 오류 안남
int a2;  // 오류 안남

 

 

var,dynamic 타입의 널 안전성 

변수를 타입을 따로 지정하지 않고 var, dynamic를 지정하겠다는 건 

nulllable이란 뜻이다!

 

 

널 안전성과 형 변환

 

nullable 이 nonnull 보다 높은 놈이다. 

 

nullable의 값이 nonnull값이 포함되어 있다는 소리이다. 

 

int a1=10;  //nonnull
int? a2=10; //nullable


main(){

a1=a2; // 오류  a1의 값이 a2의 값 하위이기 때문
a2=a1; // 성공

}

 

 

초기화를 미루는 late 연산자 

 

널 불허 변수, 기본적으로 선언 하는 변수는 선언과 동시에 값을 지정해줘야 한다. 

그런데 바로 값을 넣어주기가 애매할 때가 있다. 그럴 때 사용하는게 late 연산자이다. 

 

int a1; //오류 
late int a1; // 일단은 오류는 아님

 

하지만 이후에 변수에 값을 지정하고 사용해야 한다. 

 

 

 

 

 

 

 

깡샘의 플러터 & 다트 프로그래밍 : 네이버 도서 (naver.com)

 

깡샘의 플러터 & 다트 프로그래밍 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

 

반응형