์ฑ…์—์„œ ๋‚˜์˜จ ๊ฒŒ์ž„ ๋””์ž์ธ ํŒจํ„ด๋“ค ์ •๋ฆฌํ•  ๊ฒธ ๊ธ€ ์จ๋ด„.


๊ฐ ํŒจํ„ด ๋‚ด์˜ ์ฒซ๋ฒˆ์งธ ์ค„์€ ์ด๋ก ์ ์ธ ์„ค๋ช…, ๋‘๋ฒˆ์งธ ์ค„์€ ๋Œ€์ถฉ ์˜ˆ์‹œ



1. ์‹ฑ๊ธ€ํ„ด ํŒจํ„ด(singleton pattern)

  • ๋Ÿฐํƒ€์ž„ ์ดํ›„ ์˜ค์ง ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋งŒ ์กด์žฌํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํŒจํ„ด.
  • ๊ฒŒ์ž„์„ ์ด ๊ด€์žฅํ•˜๋Š” ๊ฒŒ์ž„๋งค๋‹ˆ์ € ๊ฐ™์€ ๊ฐ์ฒด์— ์‚ฌ์šฉ ๊ฐ€๋Šฅ.


2. ์ƒํƒœ ํŒจํ„ด(state pattern)

  • ๊ฐ์ฒด๊ฐ€ ๋‚ด๋ถ€ ์ƒํƒœ์˜ ๋ณ€ํ™”๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํŒจํ„ด.
  • ์บ๋ฆญํ„ฐ์˜ ์ด๋™์„ ๋ฐฉํ–ฅํ‚ค์— ๋”ฐ๋ผ ๊ฐ๊ฐ ์ง์ง„, ์ขŒ์šฐ, ๋’ค๋กœ, ๋ฉˆ์ถค ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ ํ›„์— ๊ฐ ์ƒํƒœ ๊ฐ์ฒด์—์„œ ์‹ค์ œ ๋ฐ์ดํ„ฐ ๋กœ์ง ์ฒ˜๋ฆฌ๋ฅผ ํ•จ. ์ƒํƒœ ๋ณ€๊ฒฝ ์‹œ ์ค‘๊ฐ„ ๋‹ค๋ฆฌ์ธ ์ปจํ…์ŠคํŠธ๋ฅผ ์ด์šฉํ•˜๋ฉด ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ด. ์ฆ‰, ๋ฐฉํ–ฅํ‚ค ์ž…๋ ฅ ์‹œ ๋ฐœ์ƒ๋˜๋Š” ์ด๋ฒคํŠธ์—์„œ๋Š” ์‹ค์ œ ๋กœ์ง์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ˆœ ์ƒํƒœ ๋ณ€์ˆ˜๋งŒ ๋ณ€๊ฒฝํ•จ.


3. ์ด๋ฒคํŠธ ๋ฒ„์Šค(event bus pattern)

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


4. ์ปค๋งจ๋“œ ํŒจํ„ด(command pattern)

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


5. ์˜ค๋ธŒ์ ํŠธ ํ’€ ํŒจํ„ด(object pool pattern)

  • ๊ฐ์ฒด ๋ชฉ๋ก์„ ์‚ฌ์ „์— ๋ฉ”๋ชจ๋ฆฌ์— ์ดˆ๊ธฐํ™”์‹œ์ผœ ๋†“๊ณ  ํ’€์— ๋‹ด์€ ๋‹ค์Œ ๋Ÿฐํƒ€์ž„ ๋™์•ˆ ๋ฉ”๋ชจ๋ฆฌํ•ด์ œ ์—†์ด ํ’€์—์„œ ๊ณ„์† ๊บผ๋‚ด ์“ธ ์ˆ˜ ์žˆ๋Š” ํŒจํ„ด. ์“ด ๊ฐ์ฒด๋Š” ๋‹ค์‹œ ํ’€์— ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•จ.
  • ์ŠˆํŒ… ๊ฒŒ์ž„์—์„œ ๋งค๋ฒˆ ๋ฏธ์‚ฌ์ผ ์ƒ์„ฑ์— ์—ฐ์‚ฐ๋น„์šฉ์ด ๋งŽ์ด ๋“ ๋‹ค๋ฉด, ๋Ÿฐํƒ€์ž„ ์ดˆ๊ธฐํ™” ๋•Œ ๋ฏธ๋ฆฌ ํ™”๋ฉด์— ๋ฟŒ๋ ค์งˆ ์ตœ๋Œ€ ๊ฐœ์ˆ˜์˜ ๋ฏธ์‚ฌ์ผ์„ ์ƒ์„ฑํ•ด ๋†“๊ณ , ํ•„์š”ํ•  ๋•Œ ๋งˆ๋‹ค ๋ฏธ์‚ฌ์ผ์„ ๊บผ๋‚ด ์“ฐ๊ณ , ๋ฏธ์‚ฌ์ผ์ด ํ™”๋ฉด ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€๋ฉด ๋‹ค์‹œ ๋ฏธ์‚ฌ์ผ ํ’€์— ๋ฐ˜ํ™˜ํ•˜๋Š” ์‹์œผ๋กœ ์ด์šฉ ๊ฐ€๋Šฅ.


6. ์˜ต์ €๋ฒ„ ํŒจํ„ด(observer pattern)

  • ๋Œ€์ƒ์ด ๋˜๋Š” ๊ฐ์ฒด๋ฅผ ๋‹ค์ˆ˜์˜ ๊ด€์ฐฐ์ž๋“ค์ด ๊ด€์ฐฐํ•˜๋Š” ์ผ๋Œ€๋‹ค ๊ด€๊ณ„๋ฅผ ์„ค์ •ํ•˜๋Š” ํŒจํ„ด.
  • ํ”Œ๋ ˆ์ด์–ด ์บ๋ฆญํ„ฐ์˜ HP๊ฐ€ 10%๋ฐ–์— ์•ˆ๋‚จ์•˜์„ ๊ฒฝ์šฐ, ํ”Œ๋ ˆ์ด์–ด ์บ๋ฆญํ„ฐ ๊ฐ์ฒด๋ฅผ ๊ด€์ฐฐํ•˜๋Š” ๋‹ค์–‘ํ•œ ๊ด€์ฐฐ์ž ๊ฐ์ฒด๋“ค์—๊ฒŒ ์ด๋ฅผ ์•Œ๋ฆผ. ์˜ˆ๋ฅผ ๋“ค์–ด HUD UI ์ปจํŠธ๋กค๋Ÿฌ์— ์•Œ๋ ค์„œ HP๋ฐ”์˜ ์ƒ‰๊น”์„ ๋ฐ”๊พธ๊ณ , ์บ๋ฆญํ„ฐ ๋žœ๋”๋Ÿฌ์—๊ฒŒ ์•Œ๋ ค์„œ ์บ๋ฆญํ„ฐ์˜ ๋ชธ์—์„œ ํ”ผ๊ฐ€๋‚˜์˜ค๊ฒŒ ํ•˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋™์ž‘์‹œํ‚ค๊ณ , ํ”Œ๋ ˆ์ด์–ด๋ฅผ ๊ด€์ฐฐํ•˜๊ณ  ์žˆ๋˜ ์ฃผ๋ณ€ ๋ชน๋“ค์—๊ฒŒ ์•Œ๋ ค์„œ ๋‹ฌ๋ ค๋“ค๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ. ์—ฌ๊ธฐ์„œ ๋ชน๋“ค์ด ์ฃฝ๊ฑฐ๋‚˜ ์‹œ์•ผ์—์„œ ์‚ด์•„์ง„๋‹ค๋ฉด ํ”Œ๋ ˆ์ด์–ด๋ฅผ ๊ด€์ฐฐํ•˜๋Š” ๊ด€์ฐฐ์ž๋“ค ๋ชฉ๋ก์—์„œ ์ œ๊ฑฐํ•จ.


7. ๋ฐฉ๋ฌธ์ž ํŒจํ„ด(visitor pattern)

  • ๋ฐฉ๋ฌธ์ž์™€ ๋งž์ด(?)์ž(visitable)๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๋ฐฉ๋ฌธ์ž๊ฐ€ ์–ด๋–ค๊ฐ์ฒด(visitable)๋ฅผ ๋ฐฉ๋ฌธํ•˜์—ฌ ๊ทธ ๊ฐ์ฒด์˜ ํŠน์ • ์š”์†Œ๋ฅผ ์ž‘์—… ํ•  ์ˆ˜ ์žˆ์Œ.
  • ํŒŒ์›Œ์—… ์•„์ดํ…œ์„ ๋จน์œผ๋ฉด ๊ทธ ์•„์ดํ…œ(๊ฐ์ฒด)์ด ์บ๋ฆญํ„ฐ๊ฐ์ฒด ๋‚ด๋ถ€์˜ "์‰ด๋“œ", "์ฒด๋ ฅ", "๊ณต๊ฒฉ๋ ฅ" ๋“ฑ์˜ ๊ฐ์ฒด๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฉด์„œ ๊ฐ๊ฐ ํšจ๊ณผ๋ฅผ ์คŒ


8. ์ „๋žต ํŒจํ„ด(strategy pattern)

  • ๋Ÿฐํƒ€์ž„์— ํŠน์ • ๋™์ž‘์„ ๊ฐ์ฒด์— ํ• ๋‹น.
  • ๋ชฌ์Šคํ„ฐ์˜ ์ด๋™ ํŒจํ„ด์„ ๋‹ค์–‘ํ•˜๊ฒŒ ๋™์ž‘ ๊ฐ€๋Šฅ. ๋ชฌ์Šคํ„ฐ ๊ฐ์ฒด ์‹œ์ ์—์„œ๋Š” ๊ด€๋ จ ๋‚ด์šฉ(์–ด๋–ค ์ด๋™ ํŒจํ„ด์ธ์ง€)์„ ์•Œ ํ•„์š”๊ฐ€ ์—†์Œ.


9. ๋ฐ์ปค๋ ˆ์ดํ„ฐ(decorator pattern)

  • ๊ธฐ์กด ๊ฐ์ฒด๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๊ณ ๋„ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ ๋ฐ ์ค‘์ฒฉํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ„ด.
  • ๋ฌด๊ธฐ์— ๊ฐ์ข… ๋ถ€์ฐฉ๋ฌผ์ด๋‚˜ ์˜ต์…˜์„ ๋ถ€์—ฌ ๊ฐ€๋Šฅ. ๋ƒ‰๊ธฐ์ €ํ•ญ์„ ์ง€๋‹Œ(ํ™”์ด์–ด ๋ณผ์„ ์˜๋Š”(ํ‰๋ฒ”ํ•œ ์ง€ํŒก์ด)))


10. ๊ณต๊ฐ„ ํŒŒํ‹ฐ์…˜(spatial partition)

  • ํšจ์œจ์ ์ธ ์ปดํ“จํŒ… ์—ฐ์‚ฐ์„ ์œ„ํ•ด ์‹ค์ œ ๊ฒŒ์ž„ ๊ณต๊ฐ„์ด ์•„๋‹Œ ๊ฐ€์ƒ์˜ ๊ณต๊ฐ„์„ ๋งŒ๋“ค์–ด ๊ฐ์ข… ์—ฐ์‚ฐ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋Š” ํŒจํ„ด.
  • ํ”Œ๋ ˆ์ด์–ด ์ฃผ๋ณ€์— ๋ชน๋“ค์ด ์ˆ˜๋ฐฑ๋งŒ ๋งˆ๋ฆฌ๊ฐ€ ์žˆ์„ ๋•Œ ํ˜„์žฌ ๋‚˜์˜ ๊ณต๊ฒฉ ๋ฒ”์œ„๊ฐ€ ๋‹ฟ๋Š” ๊ฐ ๋ชน๋“ค์˜ ์œ„์น˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ๋ฌด์‹ํ•˜๊ฒŒ(๋น„์šฉ์ด ๋งŽ์ด๋“œ๋Š”) Raycasting ์—ฐ์‚ฐ์„ ํ•˜์ง€์•Š๊ณ (ํ˜น์€ ๋‹จ์ˆœ ๊ณต๊ฐ„์ƒ์˜ ์œ„์น˜ ์กฐํšŒ๋งŒ ๋งค ํ”„๋ ˆ์ž„๋งˆ๋‹ค ํ•ด๋„ ์—ฐ์‚ฐ ๋น„์šฉ์ด ํผ), ์ผ์ • ํฌ๊ธฐ์˜ ๊ฒฉ์ž๋กœ ๋‚˜๋ˆ„์–ด ์ตœ์†Œํ•œ์˜ ์—ฐ์‚ฐ๋งŒ์œผ๋กœ ๋Œ€๋žต์ ์ธ ์œ„์น˜ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“  ํ›„ ๋‚˜์˜ ๊ณต๊ฒฉ ๋ฒ”์œ„๊ฐ€ ๋‹ฟ๋Š” ๊ฒฉ์ž๋“ค๋งŒ ์กฐํšŒํ•ด์„œ ๊ทธ ์•ˆ์— ์žˆ๋Š” ๋ชน๋“ค๋งŒ ์ถ”๋ฆด ์ˆ˜ ์žˆ์Œ. BSP, QuadTree ๊ฐ™์€ ์ด๋ฏธ ํš์ผํ™”๋œ ๊ตฌ์ฒด์ ์ธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ์กด์žฌํ•˜๋ฉฐ https://gall.dcinside.com/m/game_dev/117517 ์ด ๊ฒŒ์ด๊ฐ€ ์“ด ๊ธ€์—๋„ ์ผ๋ถ€ ์„ค๋ช…์ด ๋˜์–ด์žˆ์Œ.


11. ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด(adapter pattern)

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


12. ํผ์ƒค๋“œ ํŒจํ„ด(facade pattern)

  • ๋ณต์žกํ•œ ์ฝ”๋“œ๋“ค์„ ๊ฐ์ถ”๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํŒจํ„ด. ์‚ฌ์šฉ์ž๋Š” ๋‹จ์ˆœ ๋ฉ”์†Œ๋“œ๋งŒ ํ˜ธ์ถœํ•˜๋ฉด ๋‚ด๋ถ€์—์„œ๋Š” ๋‹ค์–‘ํ•œ ๋กœ์ง๋“ค์ด ์‹คํ–‰๋จ. ๊ทธ๋Ÿฌ๋‚˜ ์‚ฌ์šฉ์ž๋Š” ๊ทธ ์‚ฌ์‹ค์„ ์•Œ ์ˆ˜๋„, ์•Œ ํ•„์š”๋„ ์—†์Œ.
  • ๋ฒ„์„œ์ปค๊ฐ€ ๋ฒ„์„œํฌ๋ชจ๋“œ๋กœ on/offํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฒ„์„œํฌ๋ชจ๋“œOn() ๊ณผ ๋ฒ„์„œํฌ๋ชจ๋“œOff() ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋˜์ง€๋งŒ, ๋‚ด๋ถ€์—์„œ๋Š” ๋ถ„๋…ธ๊ฒŒ์ด์ง€๋ฐ”UI๊ฐ€ ๋‹ณ๊ฑฐ๋‚˜, ์บ๋ฆญํ„ฐ ์‰์ด๋”๊ฐ€ ๋ฐ”๋€Œ๋Š” ๋“ฑ ํ™”๋ฉด ๋žœ๋”๋ง ํ•จ์ˆ˜๋“ค ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ๊ฐ์ข… ๋กœ์งํ•จ์ˆ˜๋“ค์ด ํ˜ธ์ถœ๋จ.


13. ์„œ๋น„์Šค ๋กœ์ผ€์ดํ„ฐ ํŒจํ„ด(service locator pattern)

  • ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์„œ๋น„์Šค๋ฅผ ์ฐพ๋Š” ๊ฒƒ์„ ๋„์™€์ฃผ๋Š” ์„œ๋น„์Šค ๋กœ์ผ€์ดํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํŒจํ„ด. ํก์‚ฌ ์Œ์‹์ ์˜ ๊ฐ ๊ณ ๊ฐ์ด ์Œ์‹์„ ์ฃผ๋ฌธํ•˜๋ฉด ์›จ์ดํ„ฐ๊ฐ€ ์š”๋ฆฌ์‚ฌ๋กœ๋ถ€ํ„ฐ ํ•ด๋‹น ์Œ์‹์„ ๋ฐ›์•„์„œ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Œ. ๊ณ ๊ฐ์€ ์Œ์‹์˜ ์ž์„ธํ•œ ์กฐ๋ฆฌ๋ฐฉ๋ฒ•์ด๋‚˜ ์žฌ๋ฃŒ๋Š” ์•Œ ํ•„์š”๊ฐ€ ์—†์Œ.
  • ๋Ÿฐํƒ€์ž„ ์ดˆ๊ธฐํ™”์— ์„œ๋น„์Šค๋กœ์ผ€์ดํ„ฐ์— ๊ฐ๊ฐ ๋กœ๊ทธ์„œ๋น„์Šค, ๋ถ„์„์„œ๋น„์Šค, ์—…์ ์„œ๋น„์Šค๋ฅผ ๋“ฑ๋กํ•ด ๋†“๊ณ  ๊ฒŒ์ž„ ์ค‘์— ์‚ฌ์šฉ์ž๊ฐ€ ์—…์ ์„ ๋‹ฌ์„ฑํ–ˆ์„ ๊ฒฝ์šฐ ํ™”๋ฉด์— ๋กœ๊ทธ๋ฉ”์‹œ์ง€๋ฅผ ๋ฟŒ๋ฆฌ๊ณ , ๋ถ„์„์„œ๋ฒ„์— ํ•ด๋‹น ํ–‰๋™์„ ๊ธฐ๋กํ•˜๊ณ , ์‚ฌ์šฉ์ž ์—…์ ์„œ๋ฒ„์— ํ•ด๋‹น ํ–‰์œ„๋ฅผ ๊ธฐ๋กํ•˜๊ธฐ์œ„ํ•ด, ์ด 3๊ฐœ์˜ ์„œ๋น„์Šค๋ฅผ ์„œ๋น„์Šค๋กœ์ผ€์ดํ„ฐ๋กœ๋ถ€ํ„ฐ "์ธํ„ฐํŽ˜์ด์Šค"๋กœ ๋ฐ›์•„ ํ•ด๋‹น ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ด๋ฒคํŠธ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋จ.


์“ฐ๊ณ  ๋ณด๋‹ˆ ์กด๋‚˜ ๋งŽ๋„ค.

์ž˜ ๋ณด๋ฉด ๋ช‡ ๊ฐœ์˜ ํŒจํ„ด๋“ค์—๊ฒŒ์„œ ๊ณตํ†ต์ ์ธ ํŒจํ„ด(?)๋„ ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ , ๋น„์Šทํ•˜๋ฉด์„œ๋„ ์“ฐ์ž„์ƒˆ๊ฐ€ ๋‹ค๋ฅธ ํŒจํ„ด๋“ค๋„ ์žˆ์Œ.


์†”์งํžˆ ์ €๋Ÿฐ ๋””์ž์ธ ํŒจํ„ด ํ•˜๋‚˜ํ•˜๋‚˜ ์ƒ๊ฐํ•˜๋ฉด์„œ ์งœ๋Š” ๊ฐœ๋ฐœ์ž๋“ค ๊ฑฐ์˜ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•จ.

๊ทธ๋Ÿฌ๋‚˜ ์•Œ๋ฉด ์ข‹์•„์„œ ๋‚˜์  ๊ฒƒ ์—†๊ณ . ๋‹ค๋“ค ๋ฌด์˜์‹์ ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์“ฐ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์งฌ์—์„œ ๋‚˜์˜ค๋Š” ๋ฐ”์ด๋ธŒ์ฒ˜๋Ÿผ ใ…‹


๊ทธ๋ฆฌ๊ณ  ์ด ํŒจํ„ด๋“ค์€ ๋Œ€๋ถ€๋ถ„ OOP(๊ฐ์ฒด์ง€ํ–ฅํ”„๋กœ๊ทธ๋ž˜๋ฐ)์—์„œ ํŒŒ์ƒ๋œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ถ€ ๊ฒŒ์ž„ ์•„ํ‚คํ…์ณ๋‚˜ ํŒจ๋Ÿฌ๋‹ค์ž„์—์„œ ์•ˆ ๋งž์„ ์ˆ˜ ์žˆ๋‹ค.

(๊ฐ€๋ น FP๋‚˜ DOD, ECS)