ํด๋น ๊ธ์ ์กฐ์ํธ๋์ ๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด ์ญํ , ์ฑ ์, ํ๋ ฅ, ๊ด์ ์์ ๋ณธ ๊ฐ์ฒด์งํฅ ๋ผ๋ ์ฑ ์ ์ฝ๊ณ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๋ ๊ธ ์ ๋๋ค. ์์ธํ ์ฌํญ์ YES 24 ๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด ์์ ํ์ธํด์ฃผ์ธ์.
๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด - ์ญํ , ์ฑ ์, ํ๋ ฅ ๊ด์ ์์ ๋ณธ ๊ฐ์ฒด์งํฅ (์กฐ์ํธ)
- ์ํค๋ถ์ค
- ์ง์์ด: ์กฐ์ํธ
- ํด๋ธ์ด: ๋ฐ์ฐฌ๊ท, ์ฎ์์ด: ์ด๋์ฝ, ๋์์ธ: ๋ถ๋๋ฆฌ
- 1์ ๋ฐํ: 2015.06.17
ํด๋น ํํธ๋ ๊ธ์ ์์ด ๊ธธ์ด 2๊ฐ์ ํํธ๋ก ๋๋ ์ ์ค๋ช ํ๊ณ ์์ต๋๋ค. ์์ธํ ์ฌํญ์ ์๋๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์
- ์ด์ํ ๋๋ผ์ ๊ฐ์ฒด-1 ๊ฐ์ฒด์งํฅ๊ณผ ์ธ์ง ๋ฅ๋ ฅ, ์ํ, ํ๋, ์๋ณ์, ๊ธฐ๊ณ๋ก์์ ๊ฐ์ฒด
- ์ด์ํ ๋๋ผ์ ๊ฐ์ฒด-2 ํ๋๊ณผ ์ํ์ ๊ด๊ณ, ์์ธํ.
์ด๋ฒ ์ฅ์์ ์ด์ผ๊ธฐํ๊ณ ์ ํ๋ ๊ฒ
- ํ๋์ด ์ํ๋ฅผ ๊ฒฐ์ ํ๋ค
- ๊ฐ์ฒด์งํฅ์ ์ฒ์ ์ ํ๋ ์ฌ๋๋ค์ด ํํ ํ๋ ์ค์
- ์ํ๋ฅผ ๋จผ์ ์ ํ๊ณ ํ๋์ ๊ฒฐ์
- ์ด๋ ๋์ ์ํฅ์ ๋ผ์นจ
- ์บก์ํ๊ฐ ์ ํด๋จ
- ์ํ๊ฐ ๋ด๋ถ๋ก ์บก์ํ๋์ง ๋ชปํ ๊ฐ๋ฅ์ฑ์ด ํผ
- ๊ณต์ฉ ์ธํฐํ์ด์ค์ ๋ ธ์ถ๋ ๊ฐ๋ฅ์ฑ์ด ํผ
- ๊ฐ์ฒด๋ฅผ ํ๋ ฅ์๊ฐ ์๋ ๊ณ ๋ฆฝ๋ ์ฌ์ผ๋ก ๋ง๋ฆ
- ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ํฐ ์ด์ ๋ ํ๋ ฅ์ ์ํจ์
- ์ํ๋ฅผ ๋จผ์ ๊ณ ๋ คํ๋ค๋ฉด ํ๋ ฅ์ ๋จผ์ ๊ณ ๋ คํ์ง ์๊ธฐ ๋๋ฌธ
- ์ฌ์ฌ์ฉ์ฑ์ด ์ ํ๋จ
- ์์ ๋ฌธ์ ์ ์ด์ด์ง๋ ๋ฌธ์ ๋ก, ํ๋ ฅ์ ์ฐธ์ฌํ์ง ๋ชปํ๋ค๋ ์๋ฆฌ๋ ์ฌ์ฌ์ฉ์ฑ์ด ๋จ์ด์ง๋ค๋ ์๋ฆฌ์ ์ผ๋งฅ์ํต
- ์บก์ํ๊ฐ ์ ํด๋จ
- ์ฆ,
์ํ๋ฅผ ๋จผ์ ๊ณ ๋ ค
ํ๋ค๋ ๊ฒ์ ํ๋ ฅ์ ๋์ค์ ๊ณ ๋ คํ๊ฒ ๋ค๋ ์ด์ผ๊ธฐ - ์ฐ๋ฆฌ๋
ํ๋์ ๋จผ์ ๊ณ ๋ ค
ํจ์ผ๋ก ํ๋ ฅ์ ๋จผ์ ๊ณ ๋ คํด์ผ ํจ- ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ํ ํ๋ ฅ์ ๋จผ์ ์๊ฐ -> ํ๋
- ํด๋น ํ๋์ ์ํด ํ์ํ ์ ๋ณด๋ฅผ ๊ณ ๋ ค -> ์ํ
- ๊ฐ์ฒด์งํฅ์ ์ฒ์ ์ ํ๋ ์ฌ๋๋ค์ด ํํ ํ๋ ์ค์
- ์์ ์ ๊ฐ์ฒด
- ๊ฐ์ฒด์งํฅ ์ค๊ณ์ ์ค๋ ์กฐ์ธ
- ํ์ค ์ธ๊ณ๋ฅผ ๋ชจ๋ฐฉํ๋ผ
- ๊ฐ์ฒด ์งํฅ์ ํ์ค ์ธ๊ณ์ ์ถ์ํ
- ์ด ๋ง์ ํ๋ฆฐ ๋ง์ด๋ค.
- ์์ ์๋ฃ์์ ์ฌ๋์ ๊ด๊ณ๋ฅผ ์๊ฐํด๋ณด๋ฉด ๋จ.
- ๋ง์ฝ ์๋ฃ์๊ฐ ํ์ค ์ธ๊ณ์ฒ๋ผ ์ค์ค๋ก ํ๋ํ ์ ์๋ค๋ฉด?
- ์์จ์ฑ์ด ๋จ์ด์ง๋ค.
- ์ฌ๋์ด ์๋ฃ์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ค๋ฉด?
- ์ฌ๋์ ์๋ฃ์ ์ํ๋ฅผ ๊ณ์ํด์ ์ถ์ ํด์ผ ํ๋ค.
- ๊ฒฐ๊ตญ ๊ฐ์ฒด์งํฅ์ ํ์ค ์ธ๊ณ์ ๋ชจ๋ฐฉ์ด๋ ์๋ฆฌ๋ ์กฐ๊ธ ๋ถ์กฑํ ์๋ฆฌ
- ์ฐ๋ฆฌ๋ ์ด๋ค์ ์์ธํ ํด์ผํจ
- ๊ฐ์ฒด์งํฅ ์ค๊ณ์ ์ค๋ ์กฐ์ธ
- ์์ธํ
- ํ์ค ์ธ๊ณ์ ์กด์ฌ๊ฐ ์ํํธ์จ์ด์ ์กด์ฌ๋ก ๋ค์ด์ฌ ๋ ์๋์ ์ธ ์กด์ฌ๋๋ผ๋ ๋ฅ๋์ ์ด๊ฒ ๋ณํจ
- ์ด๋ฅผ ๋๊ณ ์ฐ๋ฆฌ๋ ์์ธํ๋ผ๊ณ ํจ
- ์ํํธ์จ์ด์ ์ธ๊ณ์์๋ ๊ฐ์ฒด๊ฐ ๋ ๋ง์ ์ผ๋ค์ ์ค์ค๋ก ํ ์ ์์ด์ผ ํจ
- ์ค์ธ๊ณ์์๋ ์กด์ฌํ์ง๋ ์๋ ์ถ์์ ์ธ ๊ฒ๋ค ๋ํ ์ค์ค๋ก ๊ฒฐ์ ํ ์ ์๋ ์กด์ฌ๋ก ํ์
- ์ํ ์๋ฉ, ์ํ ์์, ๊ฐ์ ์๊ฐ
- ์ค์ธ๊ณ์์๋ ์กด์ฌํ์ง๋ ์๋ ์ถ์์ ์ธ ๊ฒ๋ค ๋ํ ์ค์ค๋ก ๊ฒฐ์ ํ ์ ์๋ ์กด์ฌ๋ก ํ์
- ์ฆ, ๊ฐ์ฒด์งํฅ์ ํ์ค ์ธ๊ณ๋ฅผ ๋ชจ๋ฐฉํ ๊ฒ์ด ์๋๋ผ ํ์ค ์ธ๊ณ๋ฅผ ์ฐธ์กฐํ์ฌ ์๋ก์ด ์ธ์์ ํ์์ํค๋ ๊ฒ
๋์ ํด์๊ณผ ํ๊ณ
๊ฐ์ฒด์ ์์ธํ๋ ๋งค์ฐ๋งค์ฐ๋งค์ฐ ์ค์ํ ๋จ์ด์ธ ๊ฒ ๊ฐ๋ค.
์กฐ์ํธ๋์ ์ธ๋ฏธ๋์์ ๋์จ ๋ง์ ๋น๋ ค ์ค๋ช
ํ์๋ฉด ์ด๋ฐ ๊ฒ์ด๋ค.
๋งํธ์์ ์ฐ์ ๋ฅผ ๊ฒฐ์ ํ๋ค๊ณ ๊ฐ์ ํด๋ณด์.
๋ค์๊ณผ ๊ฐ์ ์์๋ก ์์ฃผ ์ ์ฐจ์งํฅ์ ์ผ๋ก ํ๋ก์ฐ๊ฐ ํ๋ฅธ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํ, ๊ณ ๊ฐ์ ์กฐํ
- ์ํ์ ๊ธ์ก๋งํผ ๊ณ ๊ฐ์ ์ง๊ฐ์์ ๊ธ์ก์ ์ฐจ๊ฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ
public static void main(String[] args) {
// ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ
DBConnection connection = new DBConnection();
// ์ํ ๊ธ์ก ํ์ธ
Milk milk = connection.findItem("์ฐ์ ");
int price = milk.getPrice();
// ๊ฒฐ์
Person wonik = connection.findPerson("์ฅ์์ต");
Wallet wallet = wonik.getWallet();
wallet.setAmount(wallet.getAmount() - price);
// ์ํ ์ง๊ธ
wonik.setItem(milk);
// ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฅ
connection.save(wonik);
}
์์ ์ฝ๋๋ ์ ์ฐจ์งํฅ์ ์ธ ์ฝ๋์ด๋ค.
ํ์ง๋ง ์ฌ๊ธฐ์ ์์ธํ๋ฅผ ์์ผ๋ณด์.
- ์ง์์ Person ๊ฐ์ฒด์ ์๋ ์ง๊ฐ์ ๊บผ๋ด์ ๋์ ๋บด๊ฐ๋ค.
- Person์ ํ์ค์ด์๋ค๋ฉด ๊ฒฝ์ฐฐ์ ๋ถ๋ฅด๊ฑฐ๋ ์ง์์ ๋๋ฆฐ๋ค.
- ๊ทธ๋ผ ์ง์ ์ค์ค๋ก๊ฐ ์ง๊ฐ์ ๊บผ๋ด์ ๊ณ์ฐ์ ํ๋๋ก ํด๋ณด์.
public static void main(String[] args) {
// ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ
DBConnection connection = new DBConnection();
// ์ํ ๊ธ์ก ํ์ธ
Milk milk = connection.findItem("์ฐ์ ");
int price = milk.getPrice();
// ๊ฒฐ์
Person wonik = connection.findPerson("์ฅ์์ต");
wonik.paymentFor(price);
// ์ํ ์ง๊ธ
wonik.setItem(milk);
// ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฅ
connection.save(wonik);
}
์ด๋ฌ๋ฉด ์ข ๋ ์์ฐ์ค๋ฝ๋ค.
์? ์ง๊ฐ์ ๊ณ ๊ฐ์ด ์ง์ ๊บผ๋ด๋๊น.
๊ทผ๋ฐ, ์๋ฒฝํ์ง ์๋ค.
๊ฐ์ฒด์งํฅ์ ์ํด์๋ ์์ธํ๋ฅผ ํ๋ผ๊ณ ํ๋๋ฐ, ์ฌ๊ธฐ์๋ ์์ธํ๊ฐ ๋น ์ ธ์๋ค.
๋ง์ฝ ์์ธํ๋ฅผ ํ๊ฒ๋๋ค๋ฉด Milk
๋ํ ์ค์ค๋ก ์์จ์ ์ธ ๊ฐ์ฒด๊ฐ ๋์ด์ผ ํ๋ค.
๊ทธ๋ผ ์์ธํ๋ฅผ ์ถ๊ฐ์์ผ ์ฝ๋๋ฅผ ์ถ๊ฐํด๋ณด์.
public static void main(String[] args) {
// ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ
DBConnection connection = new DBConnection();
// ์ํ ๊ธ์ก ํ์ธ
Milk milk = connection.findItem("์ฐ์ ");
// ๊ฒฐ์
Person wonik = connection.findPerson("์ฅ์์ต");
// ์ํ ์ง๊ธ
milk.sellTo(wonik);
// ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฅ
connection.save(wonik);
}
์ฐ๋ฆฌ๋ sellTo()
์ ์ด๋ค ์ผ์ด ์ผ์ด๋ฌ๋์ง ๋ชจ๋ฅธ๋ค.
ํ์ง๋ง ์ด๋ ๊ฒ ์์ธํ๋ฅผ ์์ผ milk๋ฅผ ๋ ์์จ์ ์ด๊ฒ ๋ง๋ค ์ ์๋ค.
๋๊ธ