null 값에 대한 안정적인 처리: Null Safety
null 값 허용하기(Nullable): ?
null 값을 입력하기 위해서는 변수를 선언할 때 타입 뒤에 ? 를 입력한다.
null을 입력받기 위해 사용한다.
사용 예: var nullable: 타입?
1) 함수 파라미터에 null 허용 설정하기
해당 파라미터에 대해서 null 체크를 먼저 해야만 사용할 수 있다.
2) 함수의 리턴 타입에 null 허용 설정하기
안전한 호출(Safe Call): ?.
Nullable인 변수 다음에 ?.을 사용하면 해당 변수가 null일 경우 ?. 다음의 메서드나 프로퍼티를 호출하지 않는다.
null일 때 ?. 다음에 나오는 속성이나 명령어를 처리하지 않기 위해 사용
사용 예: var result = 변수?.length 또는 변수?.프로퍼티?.something
Null 값 대체하기(Elvis Operator): ?:
null일 때 ?: 다음에 나오는 값을 기본값으로 사용
사용 예: var result = 변수?:0 또는 변수?.프로퍼티?:0