11. 엘비스 연산자, non-null 타입

2022. 3. 6. 15:06[Android APP] feat. Kotlin/Kotlin 언어 기초

엘비스 연산자는 Nullable이 빈칸이면 설정한 디폴트 값을 넣어주는 연산자이다.

?:

아래 코드와 같이 name이라는 변수 안에는 nullableName값이 들어가있고 그 값은 null이다.

이때 name을 출력해준다면 null값이 들어있는 nullableName의 기본 디폴드 값을 엘비스 연산자로 Guest를 넣어줬기 때문에

null대신 Guest가 출력된다.

 

============================================================================

 

non-null타입

!!

널러블 타입이 null값이면 널 포인터 제외가 발생한다.

non-null타입은 변수에 값이 있다고 확신할 때만 사용한다.

위와 같은 코드는 nullableName이 null이 아니라는 것이 확실하다. 

따라서 nullableName에 있는 Kwon이라는 값을 소문자로 변형하여 출력해준다.

만약 nullableName에 null값을 넣어준다면 nullPointerException이 발생하게 된다. 

 

코틀린에서 Nullable이 도입된 이유는

NullPointerException을 방지하거나 최소화하여 코드를 쓸 수 있기 때문이다.

반응형