더북(TheBook)

그리고 이 함수를 객체 표기법을 사용해 다음과 같이 쓸 수 있다.

val newPayment = payment1.combine(payment2).combine(payment3)

이 방식은 다음 방식보다 훨씬 더 읽기 쉽다.

import ...Payment.Companion.combine

val newPayment = combine(combine(payment1, payment2), payment3)

이 예제는 신용 카드가 일치하지 않으면 예외를 던지지만, 이는 아직 함수형으로 예외를 처리하는 방법을 배우지 않았기 때문이다. 이에 대해서는 7장에서 배운다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.