코틀린은 compile-time에 변수의 null 여부를 검사할 수 있는 null-safety 기능을 제공한다. 그러나 run-time에 null이 초기화되는 것은 체크할 방도가 없다. 따라서 위 테스트는 말끔하게 통과하는 불상사가 일어난다.
코틀린으로 스프링 개발할 때 jackon 라이브러리에서 필드값들을 (역) 직렬화 작업을 하면서 위 현상을 보고, NPE까지 터지는 일이 발생한다.
다행히도 jackson에서 아래 같은 애노테이션을 지원한다.
댓글