작성
·
183
답변 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이 될 수 있기 때문에 .
대신 ?.
등을 사용하라고 에러를 보내게 됩니다!
답변이 도움이 되었으면 좋겠습니다. 감사합니다! 🙏