[널 세이프티]
코틀린에서는 NUll 안정성을 향상시킬 수 있다.
어떤 변수가 NULL값이고 출력을하게 되면 오류가 날 것 이다.
하지만 코틀린에서는 이것을 NULL값 체크를 통해 오류가 날 가능성을 줄여준다.
NULL값을 체크하기 위해 코틀린에서는 ? / !! / ?. / ?: 을 사용한다.
!!은 강제로 NULL이 아니라고 하는 표현이다. 확실한 상황이 아니라면 최대한 !!사용은 지양하는것이 좋다.
?은 NULL값을 가질 수 있는 경우에 사용한다. String? 라고 사용한다면 NULL값을 가질 수 있는 문자열 타입이라는 말이다.
?.은 예를 먼저 들어 보겠다. println(name?.length)라는 출력문이 있다고 하자.
해석을 하자면 name이 NULL값이 아닌 경우에만 length에 접근하겠다라는 뜻이다.
만약 NULL이라면 NULL값이 출력된다.
마지막으로 ?:은 NULL값이라면 지정한 값으로 대체를 한다.
length?:"이름없음"이라면 length가 NULL값일때 이름없음으로 대체를 한다는 것이다.