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

[๊ฐœ๋ฐœ์ž ์ฑ…์ฝ๊ธฐ] ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด-์กฐ์˜ํ˜ธ (1์žฅ, ํ˜‘๋ ฅํ•˜๋Š” ๊ฐ์ฒด๋“ค์˜ ๊ณต๋™์ฒด)

by Wonit 2021. 4. 6.

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

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

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


 

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

 

  • ์ผ๋ฐ˜์ ์ธ ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์ƒ์‹
    • ๊ฐ์ฒด์ง€ํ–ฅ์ด๋ž€ ์‹ค์„ธ๊ณ„๋ฅผ ์ง์ ‘์ ์ด๊ณ  ์ง๊ด€์ ์œผ๋กœ ๋ชจ๋ธ๋งํ•  ์ˆ˜ ์žˆ๋Š” ํŒจ๋Ÿฌ๋‹ค์ž„
    • ๊ฐ์ฒด์ง€ํ–ฅ์€ ์‹ค์„ธ๊ณ„๋ฅผ ๋ชจ๋ฐฉ
    • ์ด๋Ÿฌํ•œ ์ƒ์‹์€ ์ถ”์ƒ์ , ์ฒ ํ•™์ ์œผ๋กœ๋Š” ๋ถ€ํ•ฉํ•˜์ง€๋งŒ, ๊ฐ์ฒด์ง€ํ–ฅ์„ ๋ถ„์„, ์„ค๊ณ„ํ•  ๋•Œ๋Š” ๊ฑฐ๋ฆฌ๊ฐ์ด ์žˆ์Œ
    • ๊ฐ์ฒด์ง€ํ–ฅ์€ ์‹ค์„ธ๊ณ„๋ฅผ ๋ชจ๋ฐฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ƒˆ๋กญ๊ฒŒ ์ฐฝ์กฐํ•˜๋Š” ๊ฒƒ
    • ์˜คํžˆ๋ ค ์ ํ•ฉ์‚ฐ ์‚ฌ๊ณ ๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์€ ์•”๋ฌต์ ์ธ ์•ฝ์†๊ณผ ํ˜‘์•ฝ, ๊ณ„์•ฝ์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•œ ํ˜‘๋ ฅ์œผ๋กœ ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๊ณผ์ • ์ด๋ผ๊ณ  ํ•จ
    • ์šฐ๋ฆฌ์˜ ์„ธ๊ณ„๋Š” ๋Œ€๋ถ€๋ถ„ ๊ฐœ์ธ ํ˜ผ์ž๋งŒ์˜ ํž˜์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ์ ์Œ
    • ๋ชจ๋‘ ํ˜‘๋ ฅ์„ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค ํ•˜๋ฏ€๋กœ ์ด ๊ด€์ ์—์„œ ๊ฐ์ฒด๋ฅผ ๋ณด๋Š” ๊ฒƒ์ด ๋” ์‹ค์„ธ๊ณ„์™€ ์—ฐ๊ด€์ง“๊ธฐ ์‰ฌ์›€
  • ์š”์ฒญ๊ณผ ์‘๋‹ต์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ˜‘๋ ฅ
    • ์š”์ฒญ : ํ•„์š”ํ•œ ๊ฒƒ์„ ์–ป๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ์ „๋ฌธ๊ฐ€(๊ฐ์ฒด) ์—๊ฒŒ ๋„์›€์„ ์š”์ฒญ
    • ์‘๋‹ต : ์š”์ฒญ์„ ๋ฐ›์€ ์ „๋ฌธ๊ฐ€(๊ฐ์ฒด)๊ฐ€ ์ฃผ์–ด์ง„ ์ฑ…์ž„์„ ๋‹ค ํ•˜์—ฌ ์š”์ฒญ์ž๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์„ ๋ฐ˜ํ™˜
      • ์ด๋“ค์€ ์—ฐ์‡„์ ์œผ๋กœ ์ž‘์šฉํ•˜๊ฒŒ ๋จ
      • ์š”์ฒญ์ž ์š”์ฒญ -> ์š”์ฒญ -> ์š”์ฒญ ์‘๋‹ต์ž
      • ์š”์ฒญ์ž ์‘๋‹ต <- ์‘๋‹ต <- ์‘๋‹ต ์‘๋‹ต์ž
    • ํ˜‘๋ ฅ : ์ด๋Ÿฌํ•œ ์š”์ฒญ๊ณผ ์‘๋‹ต์˜ ๊ณผ์ •์„ ํ†ตํ•œ ์ผ๋ จ์˜ ํ–‰์œ„
  • ์—ญํ• ๊ณผ ์ฑ…์ž„
    • ์—ญํ•  : ์‚ฌ๋žŒ๋“ค๊ณผ ํ˜‘๋ ฅํ•˜๋Š” ๊ณผ์ • ์†์—์„œ ํŠน์ •ํ•œ ์—ญํ• ์„ ๋ถ€์—ฌ๋ฐ›์Œ
      • ์˜ˆ๋ฅผ ๋“ค์–ด ์ปคํ”ผ๋ฅผ ์ฃผ๋ฌธํ•˜๋Š” ๊ณ ๊ฐ์€ ๋ˆ์„ ์ง€๋ถˆํ•˜๋Š” ์—ญํ• ๊ณผ ์ฑ…์ž„
      • ์ปคํ”ผ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ”๋ฆฌ์Šคํƒ€๋Š” ๊ณ ๊ฐ์˜ ์š”์ฒญ์— ๋ถ€ํ•ฉํ•˜๋Š” ์ปคํ”ผ๋ฅผ ์ œ์ž‘ํ•˜๋Š” ์—ญํ• ๊ณผ ์ฑ…์ž„
    • ์ฑ…์ž„ : ์—ญํ• ์ด ์˜๋ฏธ์ ์œผ๋กœ ๋‚ดํฌํ•˜๋Š” ๋œป์œผ๋กœ, ํŠน์ •ํ•œ ์—ญํ• ์€ ํŠน์ •ํ•œ ์ฑ…์ž„์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋จ
    • ์—ญํ• ๊ณผ ์ฑ…์ž„์˜ ์ค‘์š”ํ•œ ๊ฐœ๋…
      1. ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๋™์ผํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ
      2. ์—ญํ• ์€ ๋Œ€์ฒด ๊ฐ€๋Šฅํ•จ
      3. ์ฑ…์ž„์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ž์œจ์ ์œผ๋กœ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Œ
      4. ํ•œ ์‚ฌ๋žŒ์ด ์—ฌ๋Ÿฌ ์—ญํ• ์„ ๋„์ด์— ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ
  • ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ
    • ์ด๋Ÿฌํ•œ ์—ญํ• ๊ณผ ์ฑ…์ž„, ํ˜‘๋ ฅ์€ ๊ฒฐ๊ตญ ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ จ์˜ ๊ณผ์ •
    • ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์š”์ฒญ๊ณผ ์‘๋‹ต ๊ทธ๋ฆฌ๊ณ  ํ˜‘๋ ฅ์ด ์ž˜ ์–ด์šฐ๋Ÿฌ์ ธ์•ผ ํ•จ
    • ์–ด๋– ํ•œ ๊ฐ์ฒด๋„ ์„ฌ์ด ์•„๋‹ˆ๋‹ค - Kent Beck
      • ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ ๊ทน์ ์œผ๋กœ ํ˜‘๋ ฅํ•ด์•ผ ํ•จ
    • ์—ญํ• ์€ ์œ ์—ฐํ•˜๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ˜‘๋ ฅ ๊ด€๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์„ค๊ณ„ ์š”์†Œ
  • ํ˜‘๋ ฅ ์†์— ์‚ฌ๋Š” ๊ฐ์ฒด
    • ๊ฐ์ฒด์ง€ํ–ฅ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์€ ์•ž์„œ ๊ฐ•์กฐํ•œ ํ˜ํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ์ด์ง€๋งŒ ์‹ค์ œ๋กœ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ํ–‰์œ„๋Š” ๊ฐ์ฒด์ž„
    • ์ด๋Ÿฌํ•œ ๊ฐ์ฒด์˜ ๋‘ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ๋•๋ชฉ
      1. ๊ฐ์ฒด๋Š” ์ถฉ๋ถ„ํžˆ ํ˜‘๋ ฅ์ ์ผ ๊ฒƒ
      2. ๊ฐ์ฒด๋Š” ์ถฉ๋ถ„ํžˆ ์ž์œจ์ ์ผ ๊ฒƒ
    • ๊ฐ์ฒด๋Š” ์Šค์Šค๋กœ๊ฐ€ ๋ชจ๋“  ์ผ์„ ์ˆ˜ํ–‰ํ•˜๋ ค ํ•ด์„œ๋Š” ์•ˆ๋˜๊ณ , ์ƒํ˜ธ ํ˜‘๋ ฅ์ด ์ด๋ฃจ์–ด์ ธ์•ผ ํ•จ
      • ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ์ŠคํŒŒ๊ฒŒํ‹ฐ์ฒ˜๋Ÿผ ๊ผฌ์ธ ๋‚ด๋ถ€ ๋ณต์žก์„ฑ์— ์˜ํ•ด ์Šค์Šค๋กœ ์ž๋ฉธํ•˜๊ฒŒ ๋จ.
    • ๊ฐ์ฒด๋Š” ์ž๊ธฐ ์Šค์Šค๋กœ์˜ ์›์น™์— ๋”ฐ๋ผ์„œ ์Šค์Šค๋กœ๋ฅผ ํ†ต์ œํ•˜๊ณ  ์ ˆ์ œํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ.
      • ์ด ์›์น™์„ ๋งŒ์กฑํ•œ๋‹ค๋ฉด, ์šฐ๋ฆฌ๋Š” ๊ทธ ์‚ฌ๋ฌผ์„ ์ž์œจ์ ์ธ ์กด์žฌ๋ผ๊ณ  ํ•จ.
  • ๊ฐ์ฒด๋Š” ์ƒํƒœ์™€ ํ–‰๋™์„ ํ•จ๊ป˜์ง€๋‹Œ ์ž์œจ์ ์ธ ์กด์žฌ
    • ๊ฐ์ฒด : ์ƒํƒœ(State) + ํ–‰๋™(Behavior)
      • ๊ฐ์ฒด๊ฐ€ ์–ด๋–ค ์ผ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ๋Š” ํ˜‘๋ ฅ์— ์ฐธ์—ฌํ•˜๊ธฐ ์œ„ํ•œ ์ƒํƒœ์™€ ํ–‰๋™์„ ์ง€๋…€์•ผ ํ•จ
    • ๊ฐ์ฒด์˜ ์ž์œจ์„ฑ์€ ๊ฐ์ฒด ๋‚ด๋ถ€์™€ ์™ธ๋ถ€๋ฅผ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ถ€ํ„ฐ ์ถœ๋ฐœ
      • ๊ฐ์ฒด๋Š” ๋‹ค๋ฅธ ๊ฐ์ฒด๊ฐ€ ๋ฌด์—‡(what)์„ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€ ์•Œ์•„์•ผ ํ•จ
      • ๋™์‹œ์— ๊ฐ์ฒด๋Š” ๋‹ค๋ฅธ ๊ฐ์ฒด๊ฐ€ ์–ด๋–ป๊ฒŒ(How) ์ˆ˜ํ–‰ํ•˜๋Š”์ง€๋Š” ๋ชฐ๋ผ์•ผ ํ•จ
  • ํ˜‘๋ ฅ๊ณผ ๋ฉ”์‹œ์ง€
    • ๊ฐ์ฒด๋Š” ํŠน์ • ์š”์ฒญ์— ํ˜‘๋ ฅ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์ •๋ณด๋ฅผ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ์ฃผ๊ณ ๋ฐ›์Œ
    • ๋ฉ”์‹œ์ง€๋Š” ์š”์ฒญ์ด ์žˆ์„ ์ˆ˜ ์žˆ๊ณ  ์‘๋‹ต์ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ
    • ๊ฒฐ๊ตญ ํ˜‘๋ ฅ์€ ๊ฐ์ฒด์™€ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ๊ฐ์ฒด ์‚ฌ์ด์˜ ๊ด€๊ณ„๊ฐ€ ๋จ
      • ์†ก์‹ ์ž : ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๋Š” ๊ฐ์ฒด
      • ์ˆ˜์‹ ์ž : ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ์‚ฌํ” ๊ฐ์ฒด
  • ๋ฉ”์„œ๋“œ์™€ ์ž์œจ์„ฑ
    • ๋ฉ”์„œ๋“œ : ๊ฐ์ฒด๊ฐ€ ์ˆ˜์‹ ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ์™ธ๋ถ€์˜ ์š”์ฒญ์ด ๋ฌด์—‡์ธ์ง€ ํ‘œํ˜„ํ•˜๋Š” ๋ฉ”์‹œ์ง€์™€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ•์ธ ๋ฉ”์„œ๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ
      • ์ด๋Š” ์บก์Šํ™”์™€ ์—ฐ๊ด€๋จ
  • ๊ฐ์ฒด๋ฅผ ์ง€ํ–ฅํ•˜๋ผ
    • ๊ฐ์ฒด์ง€ํ–ฅ์„ ์ด์•ผ๊ธฐํ•  ๋•Œ ๋ณดํ†ต ํด๋ž˜์Šค์— ์ดˆ์ ์ด ๋งž์ถฐ์ง
    • ํ•˜์ง€๋งŒ ๊ฐ์ฒด์ง€ํ–ฅ์€ ํด๋ž˜์Šค์— ์ดˆ์ ์„ ๋งž์ถœ๊ฒŒ ์•„๋‹Œ ํ˜‘๋ ฅ๊ณผ ๊ด€๊ณ„์— ์ดˆ์ ์„ ๋งž์ถฐ์•ผ ํ•จ
    • ํด๋ž˜์Šค๋Š” ๋‹จ์ง€ ๊ฐ์ฒด์ง€ํ–ฅ์„ ํ‘œํ˜„ํ•˜๋Š” ๋„๊ตฌ์ผ ๋ฟ

๊ฐ์ฒด์ง€ํ–ฅ์˜ ํ•ต์‹ฌ์€ ์ ์ ˆํ•œ ์ฑ…์ž„์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์—ญํ•  ๊ฐ„์˜ ์œ ์—ฐํ•˜๊ณ  ๊ฒฌ๊ณ ํ•œ ํ˜‘๋ ฅ ๊ด€๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ

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

๊ฐ์ฒด์ง€ํ–ฅ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ฐ”๋ผ๋ณด๋Š” ๊ฒƒ์„ ์‹œ์ž‘์œผ๋กœ ์กฐ์˜ํ˜ธ๋‹˜์€ ์—ฌ๋Ÿฌ ์ด์•ผ๊ธฐ๋ฅผ ํ•œ๋‹ค.


๋Œ€ํ•™๊ต 2ํ•™๋…„๋•Œ ์ฒ˜์Œ์œผ๋กœ ์ž๋ฐ”๋ฅผ ๋ฐฐ์šฐ๊ณ  2๋…„์ด ์ง€๋‚œ ์ง€๊ธˆ ์‹œ์ ์—์„œ ๋‚˜๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์„ ์–ด๋Š์ •๋„ ๋ง›๋ณด์•˜๊ณ  ๋ฌด์—‡์ด ๊ฐ์ฒด์ง€ํ–ฅ์ธ์ง€ ์•Œ๊ณ  ์žˆ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ–ˆ์ง€๋งŒ, ๋‚ด ์†๋“ฑ์„ ๋•Œ๋ฆฌ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์•˜๋‹ค.

 

์šฐ์„  ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค๊ฐ€ ์•„๋‹ˆ๋ผ ์ฑ…์ž„๊ณผ ์—ญํ• , ํ˜‘๋ ฅ์ด๋ผ๋Š” ๊ฒƒ ๋ถ€ํ„ฐ์„œ ์‹œ์ž‘๋˜์—ˆ๋‹ค.

 

๋‚˜๋Š” ์ง€๊ธˆ๊นŒ์ง€ ํด๋ž˜์Šค ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๊ณ  ์žˆ์—ˆ๋˜ ๊ฒƒ์ด์—ˆ๊ณ , ๊ฐ์ฒด ์ง€ํ–ฅ์„ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ์—ˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด DB์— ์ ‘๊ทผํ•ด ๊ธ€์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž.

public void updatePosting(Long postNumber) {

  // DB ๊ฐ์ฒด ์ƒ์„ฑ
  DBConnection connection = new DBConnection();

  // DB ์— ์—ฐ๊ฒฐ
  connection.connectToDatabase();

  // ๋‚ด ๊ฒŒ์‹œ๊ธ€ ๊ฐ€์ ธ์˜ค๊ธฐ
  Posting posting = connection.getPostById(postNumber);

  // ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ •
  String newTitle = "์ˆ˜์ •ํ•  ๊ธ€ ์ œ๋ชฉ";
  String newContent = "์ˆ˜์ •ํ•  ๊ธ€ ๋ณธ๋ฌธ";
  posting.setTitle(newTitle);
  posting.setContent(newContent);

  // db ์— ์ €์žฅ
  connection.save(posting);
}

 

๋‚˜๋Š” ์ง€๋‚œ 2๋…„๋™์•ˆ ์ด ์ฝ”๋“œ๊ฐ€ ์ถฉ๋ถ„ํžˆ ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์ฝ”๋“œ์ธ์ค„ ์•Œ๊ณ  ์žˆ์—ˆ๋‹ค.


์™œ? DBConnection ํด๋ž˜์Šค, Posting ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜๋‹ˆ๊นŒ.

 

ํด๋ž˜์Šค๋Š” ๊ณง ๊ฐ์ฒด์ง€ํ–ฅ์˜ ํ•ต์‹ฌ์ด๋‹ˆ๊นŒ! ๋ผ๊ณ  ์ž˜๋ชป๋œ ์ƒ๊ฐ์„ ํ–ˆ์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๊ฑด ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์–ธ์–ด๋กœ ์ ˆ์ฐจ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฅผ ๊ฒƒ์ด ์—†์—ˆ๋‹ค.

 

์ด์œ ๋Š” Posting ๊ฐ์ฒด์™€๋Š” ์•„๋ฌด๋Ÿฐ ํ˜‘๋ ฅ์„ ํ•˜์ง€ ์•Š๊ณ  updatePosting() ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ๋ชจ๋“  ๊ฒƒ์„ ์ˆ˜ํ–‰ํ•˜๋ ค ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

์ฆ‰, ๋‚˜๋Š” Posting ๊ฐ์ฒด์—๊ฒŒ ์ž์œจ์„ฑ์„ ์ฃผ๋ คํ•˜์ง€ ์•Š์•˜๊ณ , ํ˜‘๋ ฅ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๋”ฑ 1์žฅ๋งŒ ์ฝ์€ ์‹œ์ ์—์„œ ๋‚ด๊ฐ€ ์œ„์˜ ์ฝ”๋“œ๋ฅผ ๊ฐ์ฒด์ง€ํ–ฅ์ ์œผ๋กœ ๋ฐ”๊พธ๋ ค ํ•œ๋‹ค๋ฉด ์‚ฌ์‹ค ์„ ํƒ์ง€๊ฐ€ ๋งŽ์ด ์—†๋‹ค.


์•„๋Š” ๊ฒƒ๋„ ์•„์ง ๋งŽ์ด ์—†์ง€๋งŒ ์ง€๊ธˆ ๊นŒ์ง€์˜ ์—ฌ๋Ÿฌ ๊ฐ€๋ฅด์นจ์„ ์ฃผ์‹  ์กฐ์˜ํ˜ธ๋‹˜์˜ ์ด์•ผ๊ธฐ๋ฅผ ๋˜์ƒˆ๊น€ ํ•ด๋ณด๋ฉฐ ๋‹ค์‹œ ๊ตฌ์„ฑํ•˜์ž๋ฉด ์•„๋งˆ ์ด๋Ÿฐ ํ˜•ํƒœ๊ฐ€ ๋˜์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค.

public void updatePosting(Long postNumber) {

  // DB ๊ฐ์ฒด ์ƒ์„ฑ
  DBConnection connection = new DBConnection();

  // DB ์— ์—ฐ๊ฒฐ
  connection.connectToDatabase();

  // ๋‚ด ๊ฒŒ์‹œ๊ธ€ ๊ฐ€์ ธ์˜ค๊ธฐ
  Posting posting = connection.getPostById(postNumber);

  // ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ •
  posting.updateTitleAndContent(newTitle, newContent);

  // db ์— ์ €์žฅ
  connection.save(posting);
}

์ด๋ ‡๊ฒŒ ๋œ๋‹ค๋ฉด Posting ๊ฐ์ฒด๋ฅผ ์กฐ๊ธˆ ๋” ์กด์ค‘ํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.


updatePosting ๋ฉ”์„œ๋“œ์—์„œ ์ง์ ‘ ์กฐ์ž‘ํ•œ๋‹ค๋Š” ๊ฒƒ์€ Posting ๊ฐ์ฒด์˜ ์ž์œจ์„ฑ์„ ๋นผ์•—๋Š” ๊ฒƒ์ด๊ณ , Posting ๊ฐ์ฒด๋Š” ํ˜‘๋ ฅ์ด ์•„๋‹Œ ์ผ๋ฐฉ์ ์ธ ๊ด€๊ณ„์˜ ์˜ํ•œ ํ˜‘์กฐ๊ฐ€ ๋œ๋‹ค.

 

๊ทธ๋ž˜์„œ Posting ๊ฐ์ฒด์—๊ฑฐ title ๊ณผ content๋ฅผ ๋„˜๊ฒจ์ฃผ๊ณ  ์ด๋ฅผ ์ ์ ˆํžˆ ์ฒ˜๋ฆฌํ•˜๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๋‹ค์‹œ ํ•œ ๋ฒˆ ๋˜์ƒˆ๊ฒจ๋ณด์ž.

๊ฐ์ฒด์ง€ํ–ฅ์€ ํด๋ž˜์Šค์˜ ๊ตฌ์กฐ์™€ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์ด ์•„๋‹Œ ๊ฐ์ฒด์˜ ์—ญํ• , ์ฑ…์ž…, ํ˜‘๋ ฅ์ด๋‹ค.

'๐Ÿคท๐Ÿผโ€โ™€๏ธ Etc... > - ๊ธฐํƒ€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๊ฐœ๋ฐœ์ž ์ฑ…์ฝ๊ธฐ] ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด-์กฐ์˜ํ˜ธ (2์žฅ ์ด์ƒํ•œ ๋‚˜๋ผ์˜ ๊ฐ์ฒด - 2)  (0) 2021.04.07
[๊ฐœ๋ฐœ์ž ์ฑ…์ฝ๊ธฐ] ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด-์กฐ์˜ํ˜ธ (2์žฅ ์ด์ƒํ•œ ๋‚˜๋ผ์˜ ๊ฐ์ฒด - 1)  (0) 2021.04.07
[OOP Software Meets Business 2014] ๋งˆํ‹ด ํŒŒ์šธ๋Ÿฌ๊ฐ€ ๋ง ํ•˜๋Š” ๋ฆฌํŒฉํ† ๋ง์˜ ์ ˆ์ฐจ์™€ ์ค‘์š”์„ฑ.  (2) 2020.12.18
[๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๊ธˆ์œต ์ง€์‹๊ณผ ํ•€ํ…Œํฌ] ๋‹ค์–‘ํ•œ ๋ชจ๋ฐ”์ผ ๊ฒฐ์ œ ๊ธฐ์ˆ ๋“ค์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. (NFC, Touch ID, Escrow, FDS, ๋ฐ”์ฝ”๋“œ, QR-Code)  (1) 2020.10.20
[๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๊ธˆ์œต ์ง€์‹๊ณผ ํ•€ํ…Œํฌ] ํ•€ํ…Œํฌ์˜ ์˜์—ญ๊ณผ ํ•˜๋Š” ์ผ (2) [์ž์‚ฐ ๊ด€๋ฆฌ], [๋กœ๋ณด์–ด๋“œ๋ฐ”์ด์ €]  (0) 2020.10.19

๋Œ“๊ธ€