돌아온 '모두를 위한 평등'
앞 과정에서 하나의 테스트를 통과하기 위해 엄청난 중복 코드를 만들었기 때문에, 이제 중복 코드를 제거하는 리팩토링을 할 시간이다.
우선, Dollar와 Franc 두 클래스에서 Money 라는 공통 클래스를 구성하고 equals 코드를 갖게 하면 어떨까?
할일 목록을 업데이트 하고, 하나씩 진행해보자.
$5 + 10CHF = $10(환율이 2:1 일 경우)
$5 *2 = 10$amount를 private으로 만들기Dollar 부작용(side effect)?Money 반올림?
equals()hashCode()
Equal null
Equal object
5CHF * 2 = 10CHFDollar/Franc 중복
공용 equals
공용 time
Money 공통 클래스
공통 Money 클래스를 생성하고 테스트를 진행해보자.