Kotlin_ 6. Null Safety
var one: One
if (1>2) {
one = One()
}
one. print ()
//1>2 false, one 변수는 아무것도 없는 null 상태. 앱 다운.
Null safety (Nullable, 물음표)
//이를 방지하기 위한 안전장치.
var nullable: String?
nullable = null
//null값 입력 기본형.
//null을 허용한 변수는 null 이라는 메모리 안의 공간에 저장됨.
fun nullParameter(str: String?){ //str에 null허용
if(str != null) { //null 체크를 해야 str 사용가능
var length2 = str.length
}
}
//함수 파라미터에 null 허용 설정.
Safe Call (?.)
//변수가 null 경우 다음의 메서드나 프로퍼티를 호출하지 않음.
number.plus()
//null pointer exception 발생.
number?.plus()
//null 안에 plus 기능이 없기 때문에 null safety 사용.
//?. 다음의 코드는 실행되지 않음.
Elvis Operator (?:)
number?.plus()
var resule = number.plus(other: 37) ?: 51
//반드시 실행이 필요할때 사용.
//number가 null일 경우, 51을 대체해서 넣어라, 라는 뜻.
//null이 절대로 들어가지 않음_ ?, ?: 둘다 실행되었기 때문.
∴
Nullable : null을 입력받기 위해 사용.
Safe Call : null일 때, 속성이나 명령어를 처리하지 않기 위해 사용.
Elvis Operato : null일 때, 다음에 나오는 값을 기본값으로 사용.