null 변수, ? (nullable type), null 저장 변수 선언

CODEDRAGON Development/Kotlin

반응형



 

 

null 변수

·         코틀린 언어 null 대입할 없는 변수와 null 대입할 있는 변수로 구분됩니다.

·         null 저장할 없는 변수에 null 저장하면 "Null can not be a value of a non-null type String" 에러가 발생합니다.

 

 

https://kotlinlang.org/docs/reference/null-safety.html

 

 

 

 

 

 

? (nullable type)

·         널러블 타입 널가능 타입 널저장 변수

·         null 저장할 있는 자료형 타입을 의미합니다.

·         변수 선언시 자료형타입 오른쪽에 ?기호를 써서 null값을 가질 있는 nullable type임을 표시해 줍니다.

·         널러블 타입을 사용할 경우 NPE 발생할 있음에 유의해야 합니다.

 

var data1:String = "Kotlin"

·         non-null type 문자열 변수

·         null 대입할 없는 변수

·         문자열만 저장할 있습니다.

var data2:String? = "Kotlin"

·         nullable type 문자열 변수

·         null 대입할 있는 변수

·         문자열 또는 null 저장할 있습니다.

 

 

 

 

 

NPE(NullPointException)

http://codedragon.tistory.com/7919

 

 

 

 

 

 

 

null 저장 변수 선언

변수에 null 값을대입하려면타입에? 기호를이용하여명시적으로null이될수있는변수로 선언해야 합니다.

 

 

val | var 변수명:타입? = null

 

 

null 저장할 없는 변수

val nonNullData1: String = null

var nonNullData2: String = null

 

null 저장할 있는 변수

val nullableData1: String? = null

var nullableData2: String? = null

 

 


반응형