Search
📗

29강. null 처리

무단 도용 및 복제, 사용 저작권 안내 수업 목적 외에 모든 교안 자료를 무단으로 도용 (URL 연결, 복제, 공유), 불법으로 복사하여 배포하는 것을 금지합니다. 꼭 지켜주세요!

1. NullPointerException

Java 언어로 소프트웨어를 개발하다 보면 NullPointerException 이라는 오류를 자주 만나게 된다.
이는 객체의 주소 값이 담겨져 있지 않는 (null 값이 들어있는) 참조 변수를 통해 객체 접근을 시도하면 발생되는 오류이다.

2. null safe

Kotlin 은 개발자가 null이 담겨 있는 참조변수를 통해 객체 접근을 시도할 때 오류가 발생되는 것을 방지하고자 다양한 방법을 제공하고 있다.
이를 통해 null 값에 대한 안정성을 확보(null safe)할 수 있다.

3. !! 연산자

!! 연산자는 null을 허용하는 변수에 담긴 객체의 주소 값을 null을 허용하지 않는 형태의 값으로 변환하는 연산자이다.
null을 허용하는 변수에 담긴 값을 null을 허용하지 않는 형태의 변수에 담을 경우 사용한다.
변환 과정에서 null 값이 들어 있을 경우 오류가 발생한다.
이 연산자의 사용은 권장하지 않는다.

4. ? : 연산자

?: 연산자는 참조변수에 null 이 들어있으면 지정된 기본값을 반환한다.
참조변수를 통해 메서드를 호출하거나 멤버 변수를 사용할 때 참조변수에 객체의 주소값이 들어 있다면 객체에 접근해서 메서드나 변수를 사용한다.
만약 참조변수에 null이 들어 있다면 오류가 발생하지 않고 null을 반환한다.

5. 학습 정리

정리
!! - null을 허용하지 않는 형태로 변환한다.
? : - null이라면 지정된 기본값이 반환한다.
?. – 메서드 호출 시 null 이라면 메서드가 호출되지 않고 null을 반환한다.