이번에는 Nullable과 Non-null에 대해서 알아볼 것이다.
Nullable : null을 허용한다.라고 이해하는 것이 가장 쉽고, Non-null : null을 허용하지 않는다.라고 이해하는 것이 가장 쉽게 이해할 수 있을 것이다.
여기서 또 Kotlin의 특징이 있는데, Kotlin은 기본적으로 변수 초기화 시 non-null type이다.
위 사진은 데이터 값을 넣어줬기때문에 non-null type이지만 null을 쓰기위해서는 어떻게 해야할까?
간단하게 그저 ? 만 붙여주면 끝이다.
코드를 보면 b는 null일수도 있고, null이 아닐수도 있다. 두번째의 b는 null이기때문에 println()을 하게 되면 null이라고 뜬다.
나아가 3번째의 b를 보면 문자열로 값을 저장했는데 b?.length로 출력하게 되면 14의 숫자로 길이가 잘 나오는 모습을 볼 수 있을 것이다.
반대로 non-null을 사용하는 방법도 굉장히 간단한데 ? 대신에 !!만 붙여주면 된다.
복잡한 로직을 구성하다보면 null을 할당해야할 때가 있고, 또는 값을 재할당해주어야할 때가 있는어서 Nullable을 잘 알아두어야한다.
마지막으로, Kotlin에서 코딩을 할 때, non-null을 사용하는 것을 최대한 피해야한다고 한다. 주의주의