인프런 커뮤니티 질문&답변
[3강] as {클래스} 형 변환의 Nullable 건에 대하여
작성
·
281
답변 1
0
최태현
지식공유자
안녕하세요 RealTake님! 🙂 좋은 질문 감사합니다!
코틀린에서는 널이 가능한 타입과 널이 불가능한 타입을 확실하게 구분한다는 특징이 있는데요!
만약 obj 가 null일 경우에 person에 들어갈 수 있는 Person? 타입으로 추론되게 하고 싶으시면,
obj as Person 대신 obj as Person? 을 사용하실 수 있습니다.
val person = obj as Person?
즉, 우리가 obj as Person 으로 작성했기 때문에 null이 들어왔을 때 val person = obj as Person 에서 컷(?) 당하는 거에요!
만약 우리가 obj as Person? 으로 작성했다면 말씀해주신 것처럼
null이 들어와도 person.age 쪽으로 코드가 넘어갈 수 있게 되고, 이때 person 은 null이 될 수 있기 때문에 . 대신 ?. 등을 사용하라고 에러를 보내게 됩니다!
답변이 도움이 되었으면 좋겠습니다. 감사합니다! 🙏





