[kotlin Series] 10.null
October 31, 2024
Null
Nullable
- java와 다른 점은 kotlin은 null될 가능성을 명시적으로 표현한다는 것이다.
- 예를 들어
String에 null을 할당할 수 없다. 대신 String?은 Null을 할당할 수 없다.
String?같은 타입을 nullableType이라고 한다.
Nullable, SmartCast
- swift의 guard 같이
if( a == null) 로 표현해서 null을 방지할 수 있다.
NotNullAssert
!!은 nullable을 강제로 Eject해서 Nonull타입으로 캐스트한다.
- 만약 Null이라면
NPE가 난다.
Optional
?.형태로 사용하고 Null이 아니라면 행위를 하고 아니면 Null을 반환하는 식으로 진행한다.
Elvis(NullishCoalescing)
- ElvisPersley를 닮아서 Elvis 연산자다.
- Null이 아니라면 원본 값을 내놓고 아니라면 뒤에 있는 기본 값을 뱉는다.