Bibi's DevLog ๐Ÿค“๐ŸŽ

[Java] ๊ฐ์ฒด, ํด๋ž˜์Šค, ์ธ์Šคํ„ด์Šค, ์ƒ์„ฑ์ž / ํด๋ž˜์Šค ๋ถˆ๋Ÿฌ์˜ค๊ธฐ(์ธ์Šคํ„ด์Šค๋ฉ”์†Œ๋“œ, ํด๋ž˜์Šค๋ฉ”์†Œ๋“œ) / ์ƒ์„ฑ์ž ํ™œ์šฉ๋ฒ• ์š”์•ฝ์ •๋ฆฌ ๋ณธ๋ฌธ

๐Ÿ–ฅ BE ๋ฐฑ์—”๋“œ/Java ์ž๋ฐ”

[Java] ๊ฐ์ฒด, ํด๋ž˜์Šค, ์ธ์Šคํ„ด์Šค, ์ƒ์„ฑ์ž / ํด๋ž˜์Šค ๋ถˆ๋Ÿฌ์˜ค๊ธฐ(์ธ์Šคํ„ด์Šค๋ฉ”์†Œ๋“œ, ํด๋ž˜์Šค๋ฉ”์†Œ๋“œ) / ์ƒ์„ฑ์ž ํ™œ์šฉ๋ฒ• ์š”์•ฝ์ •๋ฆฌ

๋น„๋น„ bibi 2020. 11. 9. 23:30

๋ผ์ด๋ธŒ์ฝ”๋”ฉ๊ณผ ํ•จ๊ป˜ 1:1๊ณผ์™ธ๋ฅผ ํ•ด ์ฃผ์‹  cooper๊ป˜ ๊ฐ์‚ฌ์˜ ๋ง์”€ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.๐Ÿ™

ํด๋ž˜์Šค, ๊ฐ์ฒด, ์ธ์Šคํ„ด์Šค

  • ํด๋ž˜์Šค : ๋Œ€์ƒ(๊ฐ์ฒด)๋ฅผ ~~ํ•˜๊ฒŒ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ์„ค๊ณ„.
    • ์˜ˆ๋ฅผ ๋“ค์–ด '๊ฐ•์•„์ง€'๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ
      ๋ˆˆ = 2, ์ฝ” = 1, ์ž… = 1, ๋‹ค๋ฆฌ = 4, ๊ผฌ๋ฆฌ = 1.. ์™€ ๊ฐ™์€ ์„ค๊ณ„๊ฐ€ 'ํด๋ž˜์Šค' ์ด๋‹ค.
    • ์œ„์˜ ์ฝ”๋“œ์—์„œ AccountBook, info ๊ฐ€ ํด๋ž˜์Šค์— ํ•ด๋‹นํ•œ๋‹ค.
  • ๊ฐ์ฒด=์ธ์Šคํ„ด์Šค : ํด๋ž˜์Šค์— ๋”ฐ๋ผ ์ƒ์„ฑ๋œ ๋Œ€์ƒ.
    • ์˜ˆ๋ฅผ ๋“ค์–ด '๊ฐ•์•„์ง€' ํด๋ž˜์Šค๋ฅผ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง„ "ํฐ๋‘ฅ์ด", "๋ฐฑ๊ตฌ", "ํ”„๋กœ๋„" ๋“ฑ์ด "๊ฐ์ฒด"์ด๋‹ค.
    • Java์—์„œ๋Š” ๊ฐ์ฒด๋ฅผ '์ธ์Šคํ„ด์Šค'๋ผ๊ณ  ์ฃผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค.
    • ์œ„์˜ ์ฝ”๋“œ์—์„œ๋Š” "์ฃ ์Šค๋ฐ”", "๋ฐ”๋ฐค๋ฐ”", "์บ”๋””๋ฐ”" ๊ฐ€ ๊ฐ์ฒด์ด๋‹ค.
  • ์ƒ์„ฑ์ž : ํด๋ž˜์Šค๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋งค๊ฐœ์ฒด.
    • ์ƒ์„ฑ์ž๋Š” ํด๋ž˜์Šค๋ผ๋Š” ์„ค๊ณ„๋„๋ฅผ ๊ฐ€์ง€๊ณ  ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ ๋‹ค.
    • ์œ„์˜ ์ฝ”๋“œ์—์„œ๋Š” public info(String date, String detail, int money) { ... } ์™€
      public info(String date) { ... }๊ฐ€ ์ƒ์„ฑ์ž์ด๋‹ค.
      โ€ป this๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ์„ ์žŠ์ง€ ๋ง์ž.
    • public info(String date, String detail, int money) { ... } ์ฒ˜๋Ÿผ
      ์ƒ์„ฑ์ž์˜ ๋ชจ๋“  ๋ณ€์ˆ˜๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›์„ ์ˆ˜๋„ ์žˆ๊ณ ,
    • public info(String date) { ... } ์ฒ˜๋Ÿผ
      ์ƒ์„ฑ์ž์˜ ์–ด๋–ค ๋ณ€์ˆ˜๋ฅผ ์ƒ์ˆ˜๋กœ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 


ํด๋ž˜์Šค ๋ถˆ๋Ÿฌ์˜ค๊ธฐ (์ธ์Šคํ„ด์Šค๋ฉ”์„œ๋“œ์™€ ํด๋ž˜์Šค๋ฉ”์„œ๋“œ)

 

  • main๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋Š” ํด๋ž˜์Šค๊ฐ€ ๋ฉ”์ธ ํด๋ž˜์Šค์ด๋‹ค.
    • ์œ„ ์ฝ”๋“œ์—์„œ๋Š” AccountBook์ด ๋ฉ”์ธ ํด๋ž˜์Šค์ด๋‹ค.
  • ๋ฉ”์ธ ํด๋ž˜์Šค(AccountBook)์—์„œ ๋‹ค๋ฅธ ํด๋ž˜์Šค(DB) ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์œ„ํ•ด์„œ๋Š”
    • 1๋ฒˆ. staticMathod()
      • (1) DB์—์„œ ๋ถˆ๋Ÿฌ์˜ค๊ธธ ์›ํ•˜๋Š” ๋ณ€์ˆ˜/๋ฉ”์†Œ๋“œ๋ฅผ static๋ณ€์ˆ˜๋กœ ๋งŒ๋“ ๋‹ค (static์„ ๋ถ™์ธ๋‹ค)
        • ์˜ˆ๋ฅผ ๋“ค์–ด DB ํด๋ž˜์Šค์˜ staticMethod() ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์‹ถ๋‹ค๋ฉด ์ด ๋ฉ”์†Œ๋“œ๋ฅผ static void staticMethod() ๋กœ ๋งŒ๋“ ๋‹ค
      • (2) ๋ฉ”์ธ ํด๋ž˜์Šค์ธ AccountBook์—์„œ DB.staticMethod(); ๋กœ ํ˜ธ์ถœํ•œ๋‹ค.
      • -> ์ด ๋ฐฉ๋ฒ•์€ static๋ณ€์ˆ˜๋ฅผ ๋‚จ๋ฐœํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‚ญ๋น„ํ•˜๊ฒŒ ๋˜๋‹ˆ ๊ฐ€๋Šฅํ•œ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
    • 2๋ฒˆ. 
      • (1) DB์—์„œ ๋ถˆ๋Ÿฌ์˜ค๊ธธ ์›ํ•˜๋Š” ๋ณ€์ˆ˜/๋ฉ”์†Œ๋“œ๋ฅผ public ๋ฉ”์†Œ๋“œ๋กœ ๋งŒ๋“ ๋‹ค
      • (2) DB๋ฅผ ๋ฉ”์ธ ํด๋ž˜์Šค์—์„œ ๊ฐ์ฒด๋กœ ์„ ์–ธํ•œ๋‹ค.
        (๋ฉ”์ธ๋ฉ”์„œ๋“œ ์•ˆ์—) DB db = new DB();
      • (3) DB์˜ ์›ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๋ฉ”์ธ ํด๋ž˜์Šค์—์„œ ํ˜ธ์ถœํ•ด ์“ด๋‹ค.
        db.method();
      • 2๋ฒˆ ๋ฐฉ๋ฒ•์€ static๋ณ€์ˆ˜๋ฅผ ๋‚จ๋ฐœํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ 1๋ฒˆ ๋ฐฉ๋ฒ•๋ณด๋‹ค ์ข‹๋‹ค.