๐ Chapter 7: ์ฌ๊ณผ์ ์ค๋ ์ง
public void testEquality() {
assertTrue(new Dollar(5).equals(new Dollar(5)));
assertFalse(new Dollar(5).equals(new Dollar(6)));
assertTrue(new Franc(5).equals(new Franc(5)));
assertFalse(new Franc(5).equals(new Franc(6)));
assertFalse(new Franc(5).equals(new Dollar(5)));
}
์คํจํ๋ค. Dollar
๊ฐ Franc
์ด๋ผ๋๊ตฐ. ๋์น์ฑ ์ฝ๋์์๋ Dollar
๊ฐ Franc
๊ณผ ๋น๊ต๋์ง ์๋์ง ๊ฒ์ฌํด์ผ ํ๋ค. ๋ ๊ฐ์ฒด์ ํด๋์ค๋ฅผ ๋น๊ตํจ์ผ๋ก์จ ์ด๋ฌํ ๊ฒ์ฌ๋ฅผ ์ฝ๊ฒ ์ํํ ์ ์๋ค. ์ค์ง ๊ธ์ก๊ณผ ํด๋์ค๊ฐ ์๋ก ๋์ผํ ๋๋ง ๋ Money
๊ฐ ์๋ก ๊ฐ์ ๊ฒ์ด๋ค.
public boolean equals(Object object) {
Money money = (Money) object;
return amount == money.amount && getClass().equals(money.getClass());
}
๋ชจ๋ธ ์ฝ๋์์ ํด๋์ค๋ฅผ ์ด๋ฐ ์์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ ์ข ์ง์ ๋ถํด ๋ณด์ธ๋ค. ์๋ฐ ๊ฐ์ฒด์ ์ฉ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ์ฌ์ ๋ถ์ผ์ ๋ง๋ ์ฉ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๋ค. ํ์ง๋ง ํ์ฌ๋ ํตํ ๊ฐ ๋ ๊ฐ์ ๊ฒ ์๊ณ , ํตํ ๊ฐ๋ ์ ๋์ ํ ์ถฉ๋ถํ ์ด์ ๊ฐ ์์ด ๋ณด์ด๋ฏ๋ก ์ ์ ์ด๋๋ก ๋์.
์ด์ ์ ๋ง ๊ณตํต times()
์ฝ๋๋ฅผ ์ฒ๋ฆฌํด์ผ ํ ๋๋ค. ๋ฐ๋ผ์ ํผํฉ๋ ํตํ ๊ฐ์ ์ฐ์ฐ์ ๋ํด ๋ค๋ฃจ์ด์ผ ํ๋ค.