๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿคท๐Ÿผ‍โ™€๏ธ Etc.../- ๊ธฐํƒ€

[๊ฐœ๋ฐœ์ž ์ฑ…์ฝ๊ธฐ] ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด-์กฐ์˜ํ˜ธ (2์žฅ ์ด์ƒํ•œ ๋‚˜๋ผ์˜ ๊ฐ์ฒด - 2)

by Wonit 2021. 4. 7.

ํ•ด๋‹น ๊ธ€์€ ์กฐ์˜ํ˜ธ๋‹˜์˜ ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ, ๊ด€์ ์—์„œ ๋ณธ ๊ฐ์ฒด์ง€ํ–ฅ ๋ผ๋Š” ์ฑ…์„ ์ฝ๊ณ  ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌ ๋ฐ ํšŒ๊ณ ํ•˜๋Š” ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์‚ฌํ•ญ์€ YES 24 ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด ์—์„œ ํ™•์ธํ•ด์ฃผ์„ธ์š”.

๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด - ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ ๊ด€์ ์—์„œ ๋ณธ ๊ฐ์ฒด์ง€ํ–ฅ (์กฐ์˜ํ˜ธ)

  • ์œ„ํ‚ค๋ถ์Šค
  • ์ง€์€์ด: ์กฐ์˜ํ˜ธ
  • ํŽด๋‚ธ์ด: ๋ฐ•์ฐฌ๊ทœ, ์—ฎ์€์ด: ์ด๋Œ€์—ฝ, ๋””์ž์ธ: ๋ถ๋ˆ„๋ฆฌ
  • 1์‡„ ๋ฐœํ–‰: 2015.06.17


ํ•ด๋‹น ํŒŒํŠธ๋Š” ๊ธ€์˜ ์–‘์ด ๊ธธ์–ด 2๊ฐœ์˜ ํŒŒํŠธ๋กœ ๋‚˜๋ˆ ์„œ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์•„๋ž˜๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”

  1. ์ด์ƒํ•œ ๋‚˜๋ผ์˜ ๊ฐ์ฒด-1 ๊ฐ์ฒด์ง€ํ–ฅ๊ณผ ์ธ์ง€ ๋Šฅ๋ ฅ, ์ƒํƒœ, ํ–‰๋™, ์‹๋ณ„์ž, ๊ธฐ๊ณ„๋กœ์„œ์˜ ๊ฐ์ฒด
  2. ์ด์ƒํ•œ ๋‚˜๋ผ์˜ ๊ฐ์ฒด-2 ํ–‰๋™๊ณผ ์ƒํƒœ์˜ ๊ด€๊ณ„, ์˜์ธํ™”.

์ด๋ฒˆ ์žฅ์—์„œ ์ด์•ผ๊ธฐํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ

  • ํ–‰๋™์ด ์ƒํƒœ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค
    • ๊ฐ์ฒด์ง€ํ–ฅ์„ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ํ”ํžˆ ํ•˜๋Š” ์‹ค์ˆ˜
      • ์ƒํƒœ๋ฅผ ๋จผ์ € ์ •ํ•˜๊ณ  ํ–‰๋™์„ ๊ฒฐ์ •
    • ์ด๋Š” ๋‚˜์œ ์˜ํ–ฅ์„ ๋ผ์นจ
      • ์บก์Šํ™”๊ฐ€ ์ €ํ•ด๋จ
        • ์ƒํƒœ๊ฐ€ ๋‚ด๋ถ€๋กœ ์บก์Šํ™”๋˜์ง€ ๋ชปํ•  ๊ฐ€๋Šฅ์„ฑ์ด ํผ
        • ๊ณต์šฉ ์ธํ„ฐํŽ˜์ด์Šค์— ๋…ธ์ถœ๋  ๊ฐ€๋Šฅ์„ฑ์ด ํผ
      • ๊ฐ์ฒด๋ฅผ ํ˜‘๋ ฅ์ž๊ฐ€ ์•„๋‹Œ ๊ณ ๋ฆฝ๋œ ์„ฌ์œผ๋กœ ๋งŒ๋“ฆ
        • ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ํฐ ์ด์œ ๋Š” ํ˜‘๋ ฅ์„ ์œ„ํ•จ์ž„
        • ์ƒํƒœ๋ฅผ ๋จผ์ € ๊ณ ๋ คํ•œ๋‹ค๋ฉด ํ˜‘๋ ฅ์„ ๋จผ์ € ๊ณ ๋ คํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ
      • ์žฌ์‚ฌ์šฉ์„ฑ์ด ์ €ํ•˜๋จ
        • ์•ž์„  ๋ฌธ์ œ์™€ ์ด์–ด์ง€๋Š” ๋ฌธ์ œ๋กœ, ํ˜‘๋ ฅ์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ์†Œ๋ฆฌ๋Š” ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋–จ์–ด์ง„๋‹ค๋Š” ์†Œ๋ฆฌ์™€ ์ผ๋งฅ์ƒํ†ต
    • ์ฆ‰, ์ƒํƒœ๋ฅผ ๋จผ์ € ๊ณ ๋ ค ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ํ˜‘๋ ฅ์„ ๋‚˜์ค‘์— ๊ณ ๋ คํ•˜๊ฒ ๋‹ค๋Š” ์ด์•ผ๊ธฐ
    • ์šฐ๋ฆฌ๋Š” ํ–‰๋™์„ ๋จผ์ € ๊ณ ๋ ค ํ•จ์œผ๋กœ ํ˜‘๋ ฅ์„ ๋จผ์ € ๊ณ ๋ คํ•ด์•ผ ํ•จ
      1. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ•„์š”ํ•œ ํ˜‘๋ ฅ์„ ๋จผ์ € ์ƒ๊ฐ -> ํ–‰๋™
      2. ํ•ด๋‹น ํ–‰๋™์„ ์œ„ํ•ด ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๊ณ ๋ ค -> ์ƒํƒœ
  • ์€์œ ์™€ ๊ฐ์ฒด
    • ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„์˜ ์˜ค๋žœ ์กฐ์–ธ
      • ํ˜„์‹ค ์„ธ๊ณ„๋ฅผ ๋ชจ๋ฐฉํ•˜๋ผ
      • ๊ฐ์ฒด ์ง€ํ–ฅ์€ ํ˜„์‹ค ์„ธ๊ณ„์˜ ์ถ”์ƒํ™”
    • ์ด ๋ง์€ ํ‹€๋ฆฐ ๋ง์ด๋‹ค.
      • ์•ž์„  ์Œ๋ฃŒ์ˆ˜์™€ ์‚ฌ๋žŒ์˜ ๊ด€๊ณ„๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋จ.
      • ๋งŒ์•ฝ ์Œ๋ฃŒ์ˆ˜๊ฐ€ ํ˜„์‹ค ์„ธ๊ณ„์ฒ˜๋Ÿผ ์Šค์Šค๋กœ ํ–‰๋™ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด?
        • ์ž์œจ์„ฑ์ด ๋–จ์–ด์ง„๋‹ค.
      • ์‚ฌ๋žŒ์ด ์Œ๋ฃŒ์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค๋ฉด?
        • ์‚ฌ๋žŒ์€ ์Œ๋ฃŒ์˜ ์ƒํƒœ๋ฅผ ๊ณ„์†ํ•ด์„œ ์ถ”์ ํ•ด์•ผ ํ•œ๋‹ค.
      • ๊ฒฐ๊ตญ ๊ฐ์ฒด์ง€ํ–ฅ์€ ํ˜„์‹ค ์„ธ๊ณ„์˜ ๋ชจ๋ฐฉ์ด๋ž€ ์†Œ๋ฆฌ๋Š” ์กฐ๊ธˆ ๋ถ€์กฑํ•œ ์†Œ๋ฆฌ
    • ์šฐ๋ฆฌ๋Š” ์ด๋“ค์„ ์˜์ธํ™” ํ•ด์•ผํ•จ
  • ์˜์ธํ™”
    • ํ˜„์‹ค ์„ธ๊ณ„์˜ ์กด์žฌ๊ฐ€ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์กด์žฌ๋กœ ๋“ค์–ด์˜ฌ ๋•Œ ์ˆ˜๋™์ ์ธ ์กด์žฌ๋”๋ผ๋„ ๋Šฅ๋™์ ์ด๊ฒŒ ๋ณ€ํ•จ
    • ์ด๋ฅผ ๋‘๊ณ  ์šฐ๋ฆฌ๋Š” ์˜์ธํ™”๋ผ๊ณ  ํ•จ
    • ์†Œํ”„ํŠธ์›จ์–ด์˜ ์„ธ๊ณ„์—์„œ๋Š” ๊ฐ์ฒด๊ฐ€ ๋” ๋งŽ์€ ์ผ๋“ค์„ ์Šค์Šค๋กœ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ
      • ์‹ค์„ธ๊ณ„์—์„œ๋Š” ์กด์žฌํ•˜์ง€๋„ ์•Š๋Š” ์ถ”์ƒ์ ์ธ ๊ฒƒ๋“ค ๋˜ํ•œ ์Šค์Šค๋กœ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์กด์žฌ๋กœ ํƒ„์ƒ
        • ์˜ํ™” ์˜ˆ๋ฉ”, ์˜ํ™” ์ƒ์˜, ๊ฐ•์˜ ์ˆ˜๊ฐ•
    • ์ฆ‰, ๊ฐ์ฒด์ง€ํ–ฅ์€ ํ˜„์‹ค ์„ธ๊ณ„๋ฅผ ๋ชจ๋ฐฉํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ˜„์‹ค ์„ธ๊ณ„๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์ƒˆ๋กœ์šด ์„ธ์ƒ์„ ํƒ„์ƒ์‹œํ‚ค๋Š” ๊ฒƒ

๋‚˜์˜ ํ•ด์„๊ณผ ํšŒ๊ณ 

๊ฐ์ฒด์˜ ์˜์ธํ™”๋Š” ๋งค์šฐ๋งค์šฐ๋งค์šฐ ์ค‘์š”ํ•œ ๋‹จ์–ด์ธ ๊ฒƒ ๊ฐ™๋‹ค.


์กฐ์˜ํ˜ธ๋‹˜์˜ ์„ธ๋ฏธ๋‚˜์—์„œ ๋‚˜์˜จ ๋ง์„ ๋นŒ๋ ค ์„ค๋ช…ํ•˜์ž๋ฉด ์ด๋Ÿฐ ๊ฒƒ์ด๋‹ค.

๋งˆํŠธ์—์„œ ์šฐ์œ ๋ฅผ ๊ฒฐ์ œํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์•„์ฃผ ์ ˆ์ฐจ์ง€ํ–ฅ์ ์œผ๋กœ ํ”Œ๋กœ์šฐ๊ฐ€ ํ๋ฅธ๋‹ค.

  1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ƒํ’ˆ, ๊ณ ๊ฐ์„ ์กฐํšŒ
  2. ์ƒํ’ˆ์˜ ๊ธˆ์•ก๋งŒํผ ๊ณ ๊ฐ์˜ ์ง€๊ฐ‘์—์„œ ๊ธˆ์•ก์„ ์ฐจ๊ฐ
  3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ
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๋ฅผ ๋” ์ž์œจ์ ์ด๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๋Œ“๊ธ€