무단 도용 및 복제, 사용 저작권 안내
수업 목적 외에 모든 교안 자료를 무단으로 도용 (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을 반환한다.