< 현재 구현해야할 목록 >
앞에서 우리는 테스트를 통과하기 위해서 코드를 복사해서 사용하는 잘못을 저질렀다.
class Money {
protected int amount;
}
class Dollar extends Money {
......
}
public class Money {
protected int amount;
public boolean equals(Object object) {
Money money = (Money) object;
return amount == money.amount;
}
}
// Franc
public class Franc extends Money{
public Franc(int amount) {
this.amount = amount;
}
public Franc times(int multiplier) {
return new Franc( amount * multiplier);
}
public boolean equals(Object object) {
Money money = (Money) object;
return amount == money.amount;
}
}
// Dollar
public class Dollar extends Money {
public Dollar(int amount) {
this.amount = amount;
}
public Dollar times(int multiplier) {
return new Dollar( amount * multiplier);
}
public boolean equals(Object object) {
Money money = (Money) object;
return amount == money.amount;
}
}
< 현재 구현해야할 목록 >
지금까지 우리는