๐ Chapter 4: ํ๋ผ์ด๋ฒ์
public void testMultiplication() {
Dollar five = new Dollar(5);
Dollar product = five.times(2);
assertEquals(10, product.amount);
product = five.times(3);
assertEquals(15, product.amount);
}
์ฒซ ๋ฒ์งธ ๋จ์ธ์ Dollar
์ Dollar
๋ฅผ ๋น๊ตํ๋ ๊ฒ์ผ๋ก ์ฌ์์ฑํ ์ ์๋ค.
public void testMultiplication() {
Dollar five = new Dollar(5);
Dollar product = five.times(2);
assertEquals(new Dollar(10), product);
product = five.times(3);
assertEquals(15, product.amount);
}
์ด๊ฒ ๋ ์ข์๋ณด์ด๋ฏ๋ก ๋ ๋ฒ์งธ ๋จ์ธ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ณ ์ณ๋ณด์.
public void testMultiplication() {
Dollar five = new Dollar(5);
Dollar product = five.times(2);
assertEquals(new Dollar(10), product);
product = five.times(3);
assertEquals(new Dollar(15), product);
}
์ด์ ์์ ๋ณ์์ธ product
๋ ๋ ์ด์ ์ธ๋ชจ์์ด ๋ณด์ธ๋ค. ์ธ๋ผ์ธ์์ผ๋ณด์.
public void testMultiplication() {
Dollar five = new Dollar(5);
assertEquals(new Dollar(10), five.times(2));
assertEquals(new Dollar(15), five.times(3));
}
์ด ํ ์คํธ๋ ์ผ๋ จ์ ์คํผ๋ ์ด์ ์ด ์๋๋ผ ์ฐธ์ธ ๋ช ์ ์ ๋ํ ๋จ์ธ๋ค์ด๋ฏ๋ก ์ฐ๋ฆฌ์ ์๋๋ฅผ ๋ ๋ช ํํ๊ฒ ์ด์ผ๊ธฐํด์ค๋ค.
ํ
์คํธ๋ฅผ ๊ณ ์น๊ณ ๋๋ ์ด์ Dollar
์ amount
์ธ์คํด์ค ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ์ฝ๋๋ Dollar
์์ ๋ฐ์ ์๊ฒ ๋๋ค. ๋ฐ๋ผ์ ๋ณ์๋ฅผ private
์ผ๋ก ๋ณ๊ฒฝํ ์ ์๋ค.
private int amount;
์ด์ ํ ์ผ ๋ชฉ๋ก์ ๋ ๋ค๋ฅธ ํญ๋ชฉ์ ์ง์ธ ์ ์๊ฒ ๋๋ค. ํ์ง๋ง ์ํํ ์ํฉ์ ๋ง๋ค์๋ค๋ ์ ์ ์ฃผ๋ชฉํ๋ผ. ๋ง์ฝ ๋์น์ฑ ํ ์คํธ๊ฐ ๋์น์ฑ์ ๋ํ ์ฝ๋๊ฐ ์ ํํ ์๋ํ๋ค๋ ๊ฒ์ ๊ฒ์ฆํ๋ ๋ฐ ์คํจํ๋ค๋ฉด, ๊ณฑํ๊ธฐ ํ ์คํธ ์ญ์ ๊ณฑํ๊ธฐ์ ๋ํ ์ฝ๋๊ฐ ์ ํํ๊ฒ ์๋ํ๋ ๋ฐ ์คํจํ๋ค๋ฉด, ๊ณฑํ๊ธฐ ํ ์คํธ ์ญ์ ๊ณฑํ๊ธฐ์ ๋ํ ์ฝ๋๊ฐ ์ ํํ๊ฒ ์๋ํ๋ค๋ ๊ฒ์ ๊ฒ์ฆํ๋ ๋ฐ ์คํจํ๊ฒ ๋๋ค. ์ด๊ฒ์ TDD๋ฅผ ์ ๊ทน์ ์ผ๋ก ๊ด๋ฆฌํด์ผ ํ ์ํ ์์๋ค. ์ฐ๋ฆฌ๋ ์๋ฒฝํจ์ ์ํด ๋ ธ๋ ฅํ์ง๋ ์๋๋ค. ๋ชจ๋ ๊ฒ์ ๋ ๋ฒ ๋งํจ์ผ๋ก์จ(์ฝ๋์ ํ ์คํธ๋ก ํ ๋ฒ์จ) ์์ ๊ฐ ์ ๊ฐ์ง๊ณ ์ ์งํ ์ ์์ ๋งํผ๋ง ๊ฒฐํจ์ ์ ๋๋ฅผ ๋ฎ์ถ๊ธฐ๋ฅผ ํฌ๋งํ ๋ฟ์ด๋ค. ๋๋๋ก ์ฐ๋ฆฌ์ ์ถ๋ก ์ด ๋ง์ง ์์์ ๊ฒฐํจ์ด ์๊ฐ๋ฝ ์ฌ์ด๋ก ๋น ์ ธ๋๊ฐ๋ ์๊ฐ ์๋ค. ๊ทธ๋ด ๋๋ฉด ํ ์คํธ๋ฅผ ์ด๋ป๊ฒ ์์ฑํด์ผ ํ๋์ง์ ๋ํ ๊ตํ์ ์ป๊ณ ๋ค์ ์์ผ๋ก ๋์๊ฐ๋ค. ๊ทธ ์ดํ์๋ ์ฉ๊ฐํ๊ฒ ํ๋ญ์ด๋ ์ด๋ก ๋ง๋ ์๋์ ๋๋ดํ๊ฒ ์์ผ๋ก ๋์๊ฐ ์ ์๋ค.