이번 게시글에서는 코틀린에서 Null 안전성에 대한 기본 개념을 정리할 것이다.
프로그래밍 언어에서 Null이란 변수에 아무 값도 할당되지 않은 상태를 의미한다.
프로그래밍 언어에서는 사용하는 변수가 Null 일 경우에 NPE(Null Pointer Exception)이란 오류를 발생시킨다.
코틀린은 다양한 처리를 제공하여 NPE 발생을 방지하는 것을 돕는다. 이로인해 코틀린을 Null 안전성이 있는 언어라고 한다.
코틀린은 변수의 타입을 선언할 때 Null을 할당 여부를 지정해야 한다.
Null 할당을 허용하는 Nullable 자료형은 일반 자료형의 끝에 ?를 붙여 선언할 수 있다.
ex) String?, Int?, Boolean?
자료형 끝에 ?를 붙이지 않을 경우 해당 변수는 Null을 할당 할 수 없는 Non-null 자료형이다.
ex) String, Int, Boolean
Nullable 자료형의 경우 lateinit을 사용하지 않더라도 변수의 선언과 동시에 초기화를 하지 않을 수 있다. 하지만 변수 사용 전 초기화를 하지 않을 경우 'Variable must be initialized' 라는 메시지와 함께 오류가 발생하기 때문에 변수 사용전 반드시 초기화를 수행해주어야 한다.
세이프 콜 연산자 ?.는 nullable 변수를 사용할 경우 사전에 검사하여 NPE가 발생하지 않도록 해준다. 만약 해당 변수가 null일 경우는 null을 반환한다.
ex) Nullable 변수?.
Non-null 단정 기호 !!를 사용하면 컴파일러는 해당 변수를 null 검사 없이 사용하게 됩니다. 만약 null일 경우 NPE 오류가 발생하기 때문에 반드시 null이 아닌 게 보장될 때만 사용해야 합니다.
ex) Nullable 변수 !!
엘비스 연산자 ?:는 변수가 null인지 검사하여 null 일 경우 연산자 오른쪽의 구문을 수행한다.
ex) Nullable 변수 ?: null일 떄 수행될 구문
1. 위키백과 - 코틀린, 코틀린 (프로그래밍 언어) - 위키백과, 우리 모두의 백과사전 (wikipedia.org)
코틀린 (프로그래밍 언어) - 위키백과, 우리 모두의 백과사전
코틀린(Kotlin)은 JVM에서 동작하는 크로스 플랫폼 오픈소스 프로그래밍 언어이다. 2011년 7월, 젯브레인사가 공개하였다. 파일 확장자는 .kt 또는 .kts를 사용한다. 코틀린은 2019년 5월 7일 이후로 구
ko.wikipedia.org
2. boostcourse - 코틀린 프로그래밍 기본 1 강의 (강사 : 황영덕), 코틀린 프로그래밍 기본 1 > 2-1 기본 자료형과 변수 선언방법 (1) 불변형, 기본형 : 부스트코스 (boostcourse.org)
코틀린 프로그래밍 기본 1
부스트코스 무료 강의
www.boostcourse.org
3. 코틀린 공식 사이트 - Basic syntax | Kotlin (kotlinlang.org)
Basic syntax | Kotlin
kotlinlang.org
[코틀린 / Kotlin] 코틀린 개념 정리 5 - 연산자 (1) | 2022.06.08 |
---|---|
[코틀린 / Kotlin] 코틀린 개념 정리 4 - 자료형 변환 (0) | 2022.06.07 |
[코틀린/Kotlin] 코틀린 개념 정리 2 - 자료형과 변수 (0) | 2022.06.03 |
[코틀린/Kotlin] 코틀린 개념 정리 1 - 코틀린이란? (0) | 2022.06.03 |