기타교육자료

제목kotlin null safe 처리2019-08-12

자바를 공부하면서 가장 처리하기 어려운 에러가 바로 NullPointerException이다.

바로 Null을 참조하고 있다는 뜻인데, 처리하지 않기도 하고 보통 'Null처리'라고 해서 if로 처리하는 경우가 많다.

kotlin은 null에 안전한 처리를 언어 차원에서 제공해 주고 있다.

 

특징은 "어떤 변수가 Null이 아니라는 것을 언어차원에서 제공"해 주고 있다는 것이다.

 

즉 변수 타입뒤에 ?을 붙여서 Null을 허용하는 것이라는 것을 명시해 주고 null이 들어올 수 있도록 하겠다는 뜻이다.

만일 타입뒤에 ?가 붙어있지 않다면 절대 Null일 수 없다는 것을 나타내준다.

 

그러면 Null허용형을 참고하려면 어떻게 할까?

 

다음 연산자를 사용하면 된다. 

?.

 

정식 명칭은 safe call operator라고 안전호출 연산자 정도로 번역할 수 있겠다. 즉 연산자 1항(앞에 것)이 null이면 null, 아니면 2항(뒤의 것)을 리턴해주는 연산자이다.

 

?:

 

엘비스 연산자(엘비스 프레슬리의 구렛나루를 닮았다고 함) 

제 1항이 null이 아니면 1항을 null이면 2항을 리턴해주는 연산자이다.

 

!!

Null체크를 하지 않고 무조건 처리하겠다는 뜻

   -- 명확한 용도가 필요함