
Java Optional 대신 Kotlin null 처리와 확장 함수 사용하기
·
SpringBoot
Java / Spring -> Kotlin / SpringOptional은 JDK8에서 등장한 null이 될 가능성을 가진 값을 wrapping 하기 위해 생긴 타입으로,NPE를 피하기 위해서 Optional을 적극적으로 사용해왔다.반면 코틀린에서는 타입 시스템에서 ? 를 활용해 null 가능성을 판단할 수 있기 때문에 Optional을 대신할 수 있다. 그러나 CrudRepository의 findById와 같은 메서드의 경우 Optional 값을 반환하고 있으므로기존 자바 코드를 코틀린으로 변환하는 과정에서 예외 처리를 해야할 때 orElseThrow()와 같은 Optional의 메서드들에 종속되게 된다. 이처럼 Kotlin과 CrudRepository를 함께 사용할 때 이런 상황에 대비하여스프링에서..