[Kotlin] 널 가능 변수, 세이프 콜, 엘비스 연산자


[Kotlin] 널 가능 변수, 세이프 콜, 엘비스 연산자

null 참조 문제 null값 참조로 인해 발생하는 NullPointerException 문제는 악명높은걸로 유명합니다. 경험상 Java 프로그램이 갑자기 다운되면 대부분이 NPE 문제였던것 같습니다. null 참조를 고안해낸 Tony Hoare 라는 분도 이 발명을 백만불짜리 실수라고 표현했습니다. https://en.wikipedia.org/wiki/Tony_Hoare 코틀린에서는 이런 null이 가능한 변수와 아닌 변수를 구분하여 작성할 수 있습니다. 이로인해 null 로 인한 오류 감지 시점을 최대한 컴파일 시점으로 당길 수 있습니다. 널 가능 변수 기존 자료형 그대로 변수를 선언하면 null 할당시 에러가 발생하지만, 자료형 뒤에 ? 를 붙이면 null 할당을 허용할 수 있습니다. val str1: String = "Hello" Ok val str2: String = null 에러 발생 val str3: String? = null Ok ? 가 붙어있지 않은 변수에 null ...


#Kotlin #null #코틀린

원문링크 : [Kotlin] 널 가능 변수, 세이프 콜, 엘비스 연산자