영어 속담에 "You can't compare apples and oranges"란 말이 있다
-> 서로 다른 걸 비교할 수 없다는 뜻
< 현재 구현해야할 목록 >
Franc과 Dollar를 비교하면
@Test
public void testEquality() {
assertEquals(new Dollar(5), new Dollar(5));
assertNotEquals(new Dollar(5), new Dollar(6));
assertEquals(new Franc(5), new Franc(5));
assertNotEquals(new Franc(5), new Franc(6));
assertNotEquals(new Franc(5), new Dollar(5));
}
에러가 발생한다 Dollar 와 Franc을 같은 것으로 취급한다.
따라서 Money class 에 아래와 같이 추가한다.
public class Money {
protected int amount;
public boolean equals(Object object) {
Money money = (Money) object;
return amount == money.amount && getClass().equals(money.getClass());
}
}
< 현재 구현해야할 목록 >
지금까지 우리가 한 성과는