각 조건을 비교하는 데 함수를 여섯 번 사용해야 합니다. 여기에 중도 상환 수수료 계산 등의 다른 기능을 추가하면 더 복잡해지겠죠.
반면에 클래스는 변수와 함수를 동시에 하나의 단위로 묶을 수 있습니다. 대출 금액, 대출 기간, 대출 금리, 상환 방식을 각각 저장하는 변수와 총 상환 금액을 계산하는 total_repay 함수, 월 상환 금액을 계산하는 monthly_repay 함수를 묶어 클래스로 만듭니다. 학자금 대출 조건을 클래스로 구성하면 다음과 같습니다. 클래스명은 Loan이라고 하겠습니다.
▲ 그림 14-9 클래스로 구현한 학자금 대출 조건