82
자바에서 코틀린으로
4.4
다음으로 나아가기
정보의 부재나 존재를 코드에서 피할 수는 없다. 이런 정보를
1
급 상태로 끌어올림으로써 코틀
린은 부재를 처리해야 할 때 확실히 책임을 질 수 있도록 해 주고, 부재를 처리하지 않아도 좋
을 때 부재를 처리하느라고 짓눌릴 필요가 없게 해 준다. 이와 비교해 보면 자바
Optional
타
입은 투박하게 느껴진다. 다행히
Optional
은 쉽게 널이 될 수 있는 타입으로 마이그레이션할
수 있고, 모든 코드를 코틀린으로 변환할 준비가 되어있지 않더라도 두 가지 방법을 동시에 지
원할 수도 있다.
10
장 ‘함수에서 확장 함수로’에서는 널이 될 수 있는 타입과 코틀린의 다른 언어 기능 (안전한
호출, 엘비스 연산자, 확장 함수)을 조합하는 방법을 살펴본다. 이런 기능을 활용하면 자바에
서 작성한 코드와 상당히 결이 다른 설계가 탄생한다.
하지만 아직 이런 내용을 다루기엔 이르다. 다음 장에서는 전형적인 자바 클래스를 전형적인
코틀린 클래스로 변환한다. 자바에서 코틀린으로 변환하는 작업은 문법적 요소를 변경하는 것
이상의 일이다. 이유는 두 언어가 변경할 수 있는 상태를 받아들이는 방식이 다르기 때문이다.