๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋„์„œ ๋ฆฌ๋ทฐ/IT

[IT] ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด

by ์ฃผ๋ฐœ2 2021. 1. 31.
๋ฐ˜์‘ํ˜•

 ์•ˆ๋…•ํ•˜์„ธ์š”~ ์ด์ „์— ์šด์˜ํ•˜๋˜ ๋ธ”๋กœ๊ทธ์™€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” GitHub๊ฐ€ ๋”ฐ๋กœ ์žˆ์Šต๋‹ˆ๋‹ค.

 ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ

 GitHub

๐Ÿ”



โœ” ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด

 

 

โœ” ๋ชฉ์ฐจ

01 / ํ˜‘๋ ฅํ•˜๋Š” ๊ฐ์ฒด๋“ค์˜ ๊ณต๋™์ฒด

02 / ์ด์ƒํ•œ ๋‚˜๋ผ์˜ ๊ฐ์ฒด

03 / ํƒ€์ž…๊ณผ ์ถ”์ƒํ™”

04 / ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ

05 / ์ฑ…์ž„๊ณผ ๋ฉ”์‹œ์ง€

06 / ๊ฐ์ฒด ์ง€๋„

07 / ํ•จ๊ป˜ ๋ชจ์œผ๊ธฐ

๋ถ€๋ก A / ์ถ”์ƒํ™” ๊ธฐ๋ฒ•

๋ถ€๋ก B / ์ฐธ๊ณ  ๋ฌธํ—Œ


 

 

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

1) ๊ฐ์ฒด์ง€ํ–ฅ์œผ๋กœ ํ–ฅํ•˜๋Š” ์ฒซ ๊ฑธ์Œ์€ ํด๋ž˜์Šค๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐ์ฒด๋ฅผ ๋ฐ”๋ผ๋ณด๋Š” ๊ฒƒ์—์„œ ์‹œ์ž‘ํ•œ๋‹ค.

2) ๊ฐ์ฒด์ง€ํ–ฅ์œผ๋กœ ํ–ฅํ•˜๋Š” ๋‘ ๋ฒˆ์งธ๋Š” ๊ฐ์ฒด๋ฅผ ๋…๋ฆฝ์ ์ธ ์กด์žฌ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ํ˜‘๋ ฅํ•˜๋Š” ๊ณต๋™์ฒด์˜ ์กด์žฌ๋กœ ๋ฐ”๋ผ๋ณด๋Š” ๊ฒƒ์ด๋‹ค.

3) ์„ธ ๋ฒˆ์งธ ๊ฑธ์Œ์˜ ์—ฌ๋ถ€๋Š” ํ˜‘๋ ฅ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฐ์ฒด๋“ค์—๊ฒŒ ์–ผ๋งˆ๋‚˜ ์ ์ ˆํ•œ ์—ญํ• ๊ณผ ์ฑ…์ž„์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š๋ƒ์— ๋‹ฌ๋ ค์žˆ๋‹ค.

โ€‹

โ€‹

 

01 / ํ˜‘๋ ฅํ•˜๋Š” ๊ฐ์ฒด๋“ค์˜ ๊ณต๋™์ฒด

์ด ์ฑ…์€ ๊ฐ์ฒด๋ฅผ ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ์˜ ๊ด€์ ์—์„œ ๋ฐ”๋ผ๋ณธ๋‹ค. ํ˜„์‹ค ์„ธ๊ณ„์˜ ์‚ฌ๋žŒ๋“ค์ด ์•”๋ฌต์ ์ธ ์•ฝ์†๊ณผ ๋ช…์‹œ์ ์ธ ๊ณ„์•ฝ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ˜‘๋ ฅํ•˜๋ฉฐ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•ด ๋‚˜๊ฐ€๋Š” ๊ณผ์ •์€ '๋ฉ”์‹œ์ง€(message)'๋ฅผ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉฐ ๊ณต๋™์˜ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด 'ํ˜‘๋ ฅ(collaboration)' ํ•˜๋Š” ๊ฐ์ฒด๋“ค์˜ ๊ด€๊ณ„๋ฅผ ์„ค๋ช…ํ•˜๋Š”๋ฐ ์ ํ•ฉํ•˜๋‹ค.

โ€‹

์‹ค์„ธ๊ณ„์˜ ๋ชจ๋ฐฉ์ด๋ผ๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์˜ ๊ฐœ๋…์€ ํ›Œ๋ฅญํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•˜๋Š” ์‹ค๋ฌด์ ์ธ ๊ด€์ ์—์„œ๋Š” ๋ถ€์ ํ•ฉํ•˜๋‚˜, ๊ฐ์ฒด์ง€ํ–ฅ์ด๋ผ๋Š” ์šฉ์–ด์— ๋‹ด๊ธด ๊ธฐ๋ณธ ์‚ฌ์ƒ์„ ์ดํ•ดํ•˜๊ณ  ํ•™์Šตํ•˜๋Š” ๋ฐ๋Š” ๋งค์šฐ ํšจ๊ณผ์ ์ด๋‹ค.

โ€‹

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

    • ์—ญํ•  : ์ปคํ”ผ๋ฅผ ์ฃผ๋ฌธํ•˜๋Š” ์†๋‹˜, ์ฃผ๋ฌธ์„ ๋ฐ›๋Š” ์บ์‹œ์–ด, ์ปคํ”ผ๋ฅผ ์ œ์กฐํ•˜๋Š” ๋ฐ”๋ฆฌ์Šคํƒ€

    • ์ฑ…์ž„ : ์†๋‹˜, ์บ์‹œ์–ด, ๋ฐ”๋ฆฌ์Šคํƒ€๋Š” ์ฃผ๋ฌธํ•œ ์ปคํ”ผ๋ฅผ ์†๋‹˜์—๊ฒŒ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ํ˜‘๋ ฅํ•˜๋Š” ๊ณผ์ •์—์„œ ์ž์‹ ์ด ๋งก์€ ๋ฐ”(์—ญํ• ) ์ฑ…์ž„์„ ๋‹คํ•œ๋‹ค.

    • ํ˜‘๋ ฅ : ์ปคํ”ผ ์ฃผ๋ฌธ, ์ž์‹ ์ด ๋งก์€๋ฐ” ์—ญํ• ๊ณผ ์ฑ…์ž„์„ ๋‹คํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ์€ ์šฐ๋ฆฌ๊ฐ€ ์‚ถ์„ ์˜์œ„ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ์ ‘์ด‰ํ•˜๋Š” ๋ชจ๋“  ๊ณณ์— ์กด์žฌํ•œ๋‹ค.

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

โ€‹

๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„๋ผ๋Š” ์˜ˆ์ˆ ์€ ์ ์ ˆํ•œ ๊ฐ์ฒด์—๊ฒŒ ์ ์ ˆํ•œ ์ฑ…์ž„์„ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์—์„œ ์‹œ์ž‘๋œ๋‹ค. ์ฑ…์ž„์€ ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„์˜ ํ’ˆ์งˆ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์š”์†Œ๋‹ค. ์ฑ…์ž„์ด ๋ถˆ๋ถ„๋ช…ํ•œ ๊ฐ์ฒด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฏธ๋ž˜ ์—ญ์‹œ ๋ถˆ๋ถ„๋ช…ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š”๋ฐ, ์–ผ๋งˆ๋‚˜ ์ ์ ˆํ•œ ์ฑ…์ž„์„ ์„ ํƒํ•˜๋Š๋ƒ๊ฐธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•„๋ฆ„๋‹ค์›€์„ ๊ฒฐ์ •ํ•œ๋‹ค.

โ€‹

๊ฐ์ฒด๋Š” ์ถฉ๋ถ„ํžˆ ํ˜‘๋ ฅ์ ์ด์–ด์•ผ ํ•˜๊ณ , ๋‹ค๋ฅธ ๊ฐ์ฒด์˜ ์š”์ฒญ์— ์ถฉ์‹คํžˆ ๊ท€๋ฅผ ๊ธฐ์šธ์ด๊ณ  ๋‹ค๋ฅธ ๊ฐ์ฒด์—๊ฒŒ ์ ๊ทน ๋„์›€์„ ์š”์ฒญํ•  ์ •๋„๋กœ ์—ด๋ฆฐ ๋งˆ์Œ์„ ์ง€๋…€์•ผ ํ•œ๋‹ค.

๊ฐ์ฒด๋Š” ์ž์œจ์ ์ด์–ด์•ผ ํ•˜๋Š”๋ฐ, ์ž์œจ์ ์ด๋ž€ ์Šค์Šค๋กœ์˜ ์›์น™์— ๋”ฐ๋ผ ์–ด๋–ค์ผ์„ ํ•˜๊ฑฐ๋‚˜ ์ž๊ธฐ ์Šค์Šค๋กœ๋ฅผ ํ†ต์ œํ•˜์—ฌ ์ ˆ์ œํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

โ€‹

๊ฐ์ฒด์ง€ํ–ฅ์˜ ์„ธ๊ณ„์—์„œ๋Š” ์˜ค์ง ํ•œ ๊ฐ€์ง€์˜ ์˜์‚ฌ์†Œํ†ต๋งŒ์ด ์กด์žฌํ•˜๋Š”๋ฐ, ์ด๋ฅผ ๋ฉ”์‹œ์ง€(message) ๋ผ๊ณ  ํ•œ๋‹ค.

ํ•œ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด์—๊ฒŒ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์„ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•œ๋‹ค๊ณ  ๋งํ•˜๊ณ , ๋‹ค๋ฅธ ๊ฐ์ฒด๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋ฐ›๋Š”๊ฒƒ์„ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

๊ฐ์ฒด๊ฐ€ ์ˆ˜์‹ ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฉ”์„œ๋“œ(method) ๋ผ๊ณ  ํ•œ๋‹ค.

โ€‹

์œ„์—์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์„ ํ† ๋Œ€๋กœ ๊ฐ์ฒด์ง€ํ–ฅ์˜ ๋ณธ์งˆ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

    • ์ž์œจ์ ์ธ ๊ฐ์ฒด๋“ค์˜ ๊ณต๋™์ฒด, ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด ์‹œ์Šคํ…œ์„ ๋ถ„ํ• 

    • ์ž์œจ์ ์ธ ๊ฐ์ฒด๋ž€ ์ƒํƒœ์™€ ํ–‰์œ„๋ฅผ ํ•จ๊ป˜ ์ง€๋‹ˆ๋ฉฐ, ์Šค์Šค๋กœ ์ž๊ธฐ ์ž์‹ ์„ ์ฑ…์ž„์ง€๋Š” ๊ฐ์ฒด

    • ๊ฐ์ฒด๋Š” ์‹œ์Šคํ…œ ํ–‰์œ„๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ํ˜‘๋ ฅํ•œ๋‹ค. ๊ฐ ๊ฐ์ฒด๋Š” ํ˜‘๋ ฅ ๋‚ด์—์„œ ์ •ํ•ด์ง„ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์—ญํ• 

      ์€ ๊ด€๋ จ๋œ ์ฑ…์ž„์˜ ์ง‘ํ•ฉ์ด๋‹ค.

    • ๊ฐ์ฒด๋Š” ํ˜‘๋ ฅ์„ ์œ„ํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๊ณ , ์ˆ˜์‹ ํ•œ ๊ฐ์ฒด๋Š” ์ž์œจ์ ์œผ๋กœ ์ ํ•ฉํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์„ ํƒํ•œ๋‹ค.

โ€‹

=> ํด๋ž˜์Šค์˜ ๊ตฌ์กฐ, ๋ฉ”์„œ๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐ์ฒด์˜ ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ์— ์ง‘์ค‘ํ•˜๋ผ!

โ€‹

โ€‹

 

02 / ์ด์ƒํ•œ ๋‚˜๋ผ์˜ ๊ฐ์ฒด

์ด์ƒํ•œ ๋‚˜๋ผ์˜ ์•จ๋ฆฌ์Šค๋ฅผ ๊ฐ์ฒด์— ๋น„์œ ํ•ด ์„ค๋ช…์„ ํ•˜๋Š”๋ฐ, ์•จ๋ฆฌ์Šค๊ฐ€ ์ทจํ•˜๋Š” ํ–‰๋™์— ๋”ฐ๋ผ ์ƒํƒœ(ํ‚ค) ๊ฐ€ ๋ณ€ํ•˜๊ฒŒ ๋œ๋‹ค.

๊ฐ์ฒด์˜ ๋‹ค์–‘ํ•œ ํŠน์„ฑ์„ ํšจ๊ณผ์ ์œผ๋กœ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ์ฒด๋ฅผ ์ƒํƒœ(state), ํ–‰๋™(behavior), ์‹๋ณ„์ž(identity)๋ฅผ ์ง€๋‹Œ ์‹ค์ฒด๋กœ ๋ณด๋Š”๊ฒƒ์ด ๊ฐ€์žฅ ํšจ๊ณผ์ ์ด๋‹ค.

โ€‹

๊ฐ์ฒด์ง€ํ–ฅ์˜ ๊ธฐ๋ณธ ์‚ฌ์ƒ์€ ์ƒํƒœ์™€ ์ƒํƒœ๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ํ–‰๋™์„ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ๋ฌถ๋Š” ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ๊ธฐ์–ตํ•˜๋ผ.

๊ฐ์ฒด๋Š” ์Šค์Šค๋กœ์˜ ํ–‰๋™์— ์˜ํ•ด์„œ๋งŒ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•จ์œผ๋กœ์จ ๊ฐ์ฒด์˜ ์ž์œจ์„ฑ์„ ์œ ์ง€ํ•œ๋‹ค.

โ€‹

ํ–‰๋™์ด๋ž€ ์™ธ๋ถ€์˜ ์š”์ฒญ ๋˜๋Š” ์ˆ˜์‹  ๋ฉ”์‹œ์ง€์— ์‘๋‹ตํ•˜๊ธฐ ์œ„ํ•ด ๋™์ž‘ํ•˜๊ณ  ๋ฐ˜์‘ํ•˜๋Š” ํ™œ๋™์œผ๋กœ, ํ–‰๋™์˜ ๊ฒฐ๊ณผ๋กœ ๊ฐ์ฒด๋Š” ์ž์‹ ์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๊ฐ์ฒด์—๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ์ฒด๋Š” ํ–‰๋™์„ ํ†ตํ•ด ๋‹ค๋ฅธ ๊ฐ์ฒด์™€์˜ ํ˜‘๋ ฅ์— ์ฐธ์—ฌํ•˜๋ฏ€๋กœ ํ–‰๋™์€ ์™ธ๋ถ€์— ๊ฐ€์‹œ์ ์ด์–ด์•ผ ํ•œ๋‹ค.

โ€‹

ํ–‰๋™์ด ์ƒํƒœ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š”๋ฐ, ์ƒํƒœ๋ฅผ ๋จผ์ € ๊ฒฐ์ •ํ•˜๊ณ  ํ–‰๋™์„ ๋‚˜์ค‘์— ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ์ฒ˜๋Ÿผ ์„ค๊ณ„์— ๋‚˜์œ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.

    • ์ƒํƒœ๋ฅผ ๋จผ์ € ๊ฒฐ์ •ํ•  ๊ฒฝ์šฐ ์บก์Šํ™”๊ฐ€ ์ €ํ•ด๋œ๋‹ค.

    • ๊ฐ์ฒด๋ฅผ ํ˜‘๋ ฅ์ž๊ฐ€ ์•„๋‹Œ ๊ณ ๋ฆฝ๋œ ์„ฌ์œผ๋กœ ๋งŒ๋“ ๋‹ค.

    • ๊ฐ์ฒด์˜ ์žฌ์‚ฌ์šฉ์„ฑ์ด ์ €ํ•˜๋œ๋‹ค.

ํ˜‘๋ ฅ์— ์ฐธ์—ฌํ•˜๋Š” ํ›Œ๋ฅญํ•œ ๊ฐ์ฒด ์‹œ๋ฏผ์„ ์–‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋•๋ชฉ์€ ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋ผ ํ–‰๋™์— ์ดˆ์ ์„ ๋งž์ถ”๋Š” ๊ฒƒ์ด๋‹ค.

ํ–‰๋™์ด ์ƒํƒœ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ช…์‹ฌํ•˜๋ผ!

โ€‹

โ€‹

 

03 / ํƒ€์ž…๊ณผ ์ถ”์ƒํ™”

ํ˜„์ƒ์€ ๋ณต์žกํ•˜๊ณ , ๋ฒ•์น™์€ ๋‹จ์ˆœํ•˜๋‹ค! ๋ฒ„๋ฆด ๊ฒŒ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ด๋ผ. - ์ถ”์ƒํ™”

โ€‹

์ถ”์ƒํ™”๋ž€? ์–ด๋–ค ์–‘์ƒ, ์„ธ๋ถ€ ์‚ฌํ•ญ, ๊ตฌ์กฐ๋ฅผ ์ข€ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ • ์ ˆ์ฐจ๋‚˜ ๋ฌผ์ฒด๋ฅผ ์˜๋„์ ์œผ๋กœ ์ƒ๋žตํ•˜๊ฑฐ๋‚˜ ๊ฐ์ถค์œผ๋กœ์จ ๋ณต์žก๋„๋ฅผ ๊ทน๋ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

โ€‹

๋ณต์žก์„ฑ์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์ถ”์ƒํ™”๋Š” ๋‘ ์ฐจ์›์—์„œ ์ด๋ฃจ์–ด์ง„๋‹ค.

    • ์ฒซ๋ฒˆ์งธ ์ฐจ์›์€ ๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ฌผ๋“ค ๊ฐ„์˜ ๊ณตํ†ต์ ์€ ์ทจํ•˜๊ณ  ์ฐจ์ด์ ์€ ๋ฒ„๋ฆฌ๋Š” ์ผ๋ฐ˜ํ™”๋ฅผ ํ†ตํ•ด ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ

    • ๋‘๋ฒˆ์งธ ์ฐจ์›์€ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์„ ๊ฐ•์กฐํ•˜๊ธฐ ์œ„ํ•ด ๋ถˆํ•„์š”ํ•œ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ œ๊ฑฐํ•จ์œผ๋กœ์จ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ

๋ชจ๋“  ๊ฒฝ์šฐ์— ์ถ”์ƒํ™”์˜ ๋ชฉ์ ์€ ๋ณต์žก์„ฑ์„ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ˆ˜์ค€์œผ๋กœ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ๊ธฐ์–ตํ•˜๋ผ!!

โ€‹

์•จ๋ฆฌ์Šค๋Š”, ์ˆ˜ ๋งŽ์€ ํŠธ๋Ÿผํ”„๋ฅผ ํ•˜๋‚˜์˜ ํŠธ๋Ÿผํ”„๋กœ ๋ฐ”๋ผ๋ณด๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋Š” ์ˆ˜ ๋งŽ์€ ํŠธ๋Ÿผํ”„๋ฅผ ํ•˜๋‚˜์˜ ํŠธ๋Ÿผํ”„๋กœ ์ถ”์ƒํ™”, ๋ถ„๋ฅ˜ํ•œ ๊ฒƒ์ด๋‹ค.

๊ฐ์ฒด์— ์–ด๋–ค ๊ฐœ๋…์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์„œ ๊ฐœ๋… ๊ทธ๋ฃน์˜ ์ผ์›์ด ๋  ๋•Œ ๊ฐ์ฒด๋ฅผ ๊ทธ ๊ฐœ๋…์˜ ์ธ์Šคํ„ด์Šค(instance)๋ผ๊ณ  ํ•œ๋‹ค.

๊ฐ์ฒด๋ž€ ํŠน์ •ํ•œ ๊ฐœ๋…์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ฌผ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ฐœ๋…์ด ๊ฐ์ฒด์— ์ ์šฉ๋์„ ๋•Œ ๊ฐ์ฒด๋ฅผ ๊ฐœ๋…์˜ ์ธ์Šคํ„ด์Šค๋ผ๊ณ  ํ•œ๋‹ค.

๊ฐ์ฒด์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๊ฐ์ฒด์˜ ํ–‰๋™์ด๋‹ค. ๊ฐ์ฒด๊ฐ€ ํ˜‘๋ ฅ์„ ์œ„ํ•ด ์–ด๋–ค ์ฑ…์ž„์„ ์ง€๋…€์•ผ ํ•˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„์˜ ํ•ต์‹ฌ์ด๋‹ค.

 

โ€‹

 

04 / ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ

4์žฅ์˜ ์†Œ์ œ๋ชฉ์€ ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ ์ด๋‹ค.

์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ ๊ด€์ ์—์„œ ๋ณธ ๊ฐ์ฒด์ง€ํ–ฅ ์ด๋ผ๋Š” ์ฑ…์˜ ์ œ๋ชฉ์—์„œ ์žˆ๋“ฏ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด๋‹ค!

โ€‹

๊ฐ์ฒด์ง€ํ–ฅ์— ๊ฐ“ ์ž…๋ฌธํ•œ ์‚ฌ๋žŒ๋“ค์˜ ๊ฐ€์žฅ ํ”ํ•œ ์‹ค์ˆ˜๋Š” ํ˜‘๋ ฅ์ด๋ผ๋Š” ๋ฌธ๋งฅ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์€ ์ฑ„ ๊ฐ์ฒด๊ฐ€ ๊ฐ€์ ธ์•ผ ํ•  ์ƒํƒœ์™€ ํ–‰๋™๋ถ€ํ„ฐ ๊ณ ๋ฏผํ•˜๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ค‘์š”ํ•œ ๊ฒƒ์€ ๊ฐœ๋ณ„ ๊ฐ์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐ์ฒด๋“ค ์‚ฌ์ด์— ์ด๋ค„์ง€๋Š” ํ˜‘๋ ฅ! ์ด๋‹ค.

โ€‹

๋™์ผ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ํ•ด๋‹น ๊ฐ์ฒด๋“ค์ด ํ˜‘๋ ฅ ๋‚ด์—์„œ ๋™์ผํ•œ ์ฑ…์ž„์˜ ์ง‘ํ•ฉ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์ด๋Š” ๋งค์šฐ ์ค‘์š”ํ•œ ๊ฐœ๋…์ด๊ณ , ์ด๋ฅผ ์ž˜ ์ดํ•ดํ•ด์•ผ ๊ฐ์ฒด์ง€ํ–ฅ์ด ์ œ๊ณตํ•˜๋Š” ๋งŽ์€ ์žฅ์ ์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ๋‹ค.

 

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

์—ญํ• ์€ ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„์˜ ๋‹จ์ˆœ์„ฑ, ์œ ์—ฐ์„ฑ, ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋’ท๋ฐ›์นจํ•˜๋Š” ํ•ต์‹ฌ ๊ฐœ๋…์ด๋‹ค.

โ€‹

๊ฐ์ฒด์˜ ๋ชจ์–‘์„ ๊ฒฐ์ •ํ•˜๋Š” ํ˜‘๋ ฅ

ํด๋ž˜์Šค๋Š” ๋‹จ์ง€ ์‹œ์Šคํ…œ์— ํ•„์š”ํ•œ ๊ฐ์ฒด๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ตฌํ˜„ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๊ณ , ๊ฐ์ฒด์ง€ํ–ฅ์˜ ํ•ต์‹ฌ์€ ํด๋ž˜์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•  ๊ฒƒ์ธ๊ฐ€๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐ์ฒด๊ฐ€ ํ˜‘๋ ฅ ์•ˆ์—์„œ ์–ด๋–ค ์ฑ…์ž„๊ณผ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

โ€‹

 

๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ๊ธฐ๋ฒ•

1. ์ฑ…์ž„-์ฃผ๋„ ์„ค๊ณ„(Responsibility-Driven Design)

    • ํ˜‘๋ ฅ์— ํ•„์š”ํ•œ ์ฑ…์ž„๋“ค์„ ์‹๋ณ„ํ•˜๊ณ  ์ ํ•ฉํ•œ ๊ฐ์ฒด์—๊ฒŒ ์ฑ…์ž„์„ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค๊ณ„ํ•œ๋‹ค.

2. ๋””์ž์ธ ํŒจํ„ด(Design Pattern)

    • ์ „๋ฌธ๊ฐ€๋“ค์ด ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•ด ๋†“์€ ์„ค๊ณ„ ํ…œํ”Œ๋ฆฟ์˜ ๋ชจ์Œ.

    • ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ์ด ๋””์ž์ธ ํŒจํ„ด ์•ˆ์— ์ด๋ฏธ ์กด์žฌํ•œ๋‹ค.

3. ํ…Œ์ŠคํŠธ-์ฃผ๋„ ๊ฐœ๋ฐœ(Test-Driven Development)

    • ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์™„์„ฑํ•ด๊ฐ€๋Š” ๋ฐฉ์‹

    • ํ…Œ์ŠคํŠธ๊ฐ€ ์•„๋‹Œ ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ๊ธฐ๋ฒ•

โ€‹    • ๊ฐ์ฒด๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ๊ฐ์ฒด์—๊ฒŒ ์–ด๋–ค ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•  ๊ฒƒ์ธ์ง€์— ๊ด€ํ•ด ๋จผ์ € ์ƒ๊ฐํ•˜๋ผ๊ณ  ์ถฉ๊ณ ํ•œ๋‹ค.

        • ์ด๋Ÿฌํ•œ ์ถฉ๊ณ ๋Š” ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ์˜ ๊ด€์ ์—์„œ ๊ฐ์ฒด๋ฅผ ๋ฐ”๋ผ๋ณด์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋ฌด์˜๋ฏธํ•˜๋‹ค.

โ€‹

โ€‹

 

05 / ์ฑ…์ž„๊ณผ ๋ฉ”์‹œ์ง€

์˜๋„๋Š” "๋ฉ”์‹œ์ง•"์ด๋‹ค. ํ›Œ๋ฅญํ•˜๊ณ  ์„ฑ์žฅ๊ฐ€๋Šฅํ•œ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํ•ต์‹ฌ์€ ๋ชจ๋“ˆ ๋‚ด๋ถ€์˜ ์†์„ฑ๊ณผ ํ–‰๋™์ด ์–ด๋–ค๊ฐ€๋ณด๋‹ค๋Š” ๋ชจ๋“ˆ์ด ์–ด๋–ป๊ฒŒ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ํ•˜๋Š”๊ฐ€์— ๋‹ฌ๋ ค์žˆ๋‹ค. - ์•จ๋Ÿฐ ์ผ€์ด[Kay 1998]

โ€‹

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

โ€‹

ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•จ์œผ๋กœ์จ ๋‹ค๋ฅธ ๊ฐ์ฒด์— ์ ‘๊ทผํ•œ๋‹ค.

๋ฉ”์‹œ์ง€ ์ „์†ก์€ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด์—๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

์†ก์‹ ์ž๋Š” ๋ฉ”์‹œ์ง€ ์ „์†ก์„ ํ†ตํ•ด์„œ๋งŒ ๋‹ค๋ฅธ ๊ฐ์ฒด์˜ ์ฑ…์ž„์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๊ณ , ์ˆ˜์‹ ์ž๋Š” ์˜ค์ง ๋ฉ”์‹œ์ง€ ์ˆ˜์‹ ์„ ํ†ตํ•ด์„œ๋งŒ ์ž์‹ ์˜ ์ฑ…์ž„์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”์‹œ์ง€์˜ ๋ชจ์–‘์ด ๊ฐ์ฒด๊ฐ€ ์ˆ˜ํ–‰ํ•  ์ฑ…์ž„์˜ ๋ชจ์–‘์„ ๊ฒฐ์ •ํ•œ๋‹ค.

โ€‹

๊ฐ์ฒด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์‹œ์ง€๋Š” ์™ธ๋ถ€์˜ ๋‹ค๋ฅธ ๊ฐ์ฒด๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐœ๋œ ์˜์—ญ์— ์†ํ•œ๋‹ค.(public)

๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ฑ…์ž„์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์™ธ๋ถ€์˜ ๋‹ค๋ฅธ ๊ฐ์ฒด๊ฐ€ ๋ณผ ์ˆ˜ ์—†๋Š” ๊ฐ์ฒด ์ž์‹ ์˜ ์‚ฌ์ ์ธ ์˜์—ญ์— ์†ํ•œ๋‹ค(private)

โ€‹

๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•œ ๊ฐ์ฒด๊ฐ€ ์‹คํ–‰ ์‹œ๊ฐ„์— ๋ฉ”์„œ๋“œ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์€ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๊ตฌ๋ถ„ ์ง“๋Š” ํ•ต์‹ฌ์ ์ธ ํŠน์ง• ์ค‘ ํ•˜๋‚˜๋‹ค.

โ€‹

 ๋‹คํ˜•์„ฑ

    • ์„œ๋กœ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ๊ฐ์ฒด๊ฐ€ ๋™์ผํ•œ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•ด ์„œ๋กœ ๋‹ค๋ฅด๊ฒŒ ๋ฐ˜์‘ํ•˜๋Š” ๊ฒƒโ€‹์„ ์˜๋ฏธํ•œ๋‹ค.

    • ๋” ๊ตฌ์ฒด์ ์œผ๋กœ๋Š”, ์„œ๋กœ ๋‹ค๋ฅธ ํƒ€์ž…์— ์†ํ•˜๋Š” ๊ฐ์ฒด๋“ค์ด ๋™์ผํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•  ๊ฒฝ์šฐ

      ์„œ๋กœ ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

    • ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž ๊ฐ„์˜ ๊ฐ์ฒด ํƒ€์ž…์— ๋Œ€ํ•œ ๊ฒฐํ•ฉ๋„๋ฅผ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ๊ฒฐํ•ฉ๋„๋กœ ๋‚ฎ์ถค์œผ๋กœ์จ ๋‹ฌ์„ฑ๋œ๋‹ค.

        • ๊ฐ์ฒด์ง€ํ–ฅ์ด ์œ ์—ฐํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’๋‹ค๋Š” ๋ช…์„ฑ? ๋‹คํ˜•์„ฑ ๋•๋ถ„. ๋‹คํ˜•์„ฑ์ด๋ผ๋Š” ๊ฐ•๋ ฅํ•œ ๋ฌด๊ธฐ !!

โ€‹

๋ฉ”์‹œ์ง€๋ฅผ ๋”ฐ๋ผ๋ผ

๊ฐ์ฒด์ง€ํ–ฅ์˜ ํ•ต์‹ฌ,๋ฉ”์‹œ์ง€

ํ›Œ๋ฅญํ•œ ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„๋Š” ์–ด๋–ค ๊ฐ์ฒด๊ฐ€ ์–ด๋–ค ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€์™€ ์–ด๋–ค ๊ฐ์ฒด๊ฐ€ ์–ด๋–ค ๋ฉ”์‹œ์ง€๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ์ฒด ์‚ฌ์ด์˜ ํ˜‘๋ ฅ ๊ด€๊ณ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ฉ”์‹œ์ง€!!!! ๋ฉ”์‹œ์ง€๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ˜‘๋ ฅ์„ ์„ค๊ณ„!

โ€‹

๊ฐ์ฒด ์ธํ„ฐํŽ˜์ด์Šค

์ผ๋ฐ˜์ ์œผ๋กœ ์ธํ„ฐํŽ˜์ด์Šค๋ž€ ์–ด๋–ค ๋‘ ์‚ฌ๋ฌผ์ด ๋งˆ์ฃผ์น˜๋Š” ๊ฒฝ๊ณ„ ์ง€์ ์—์„œ ์„œ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ด์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด๋‚˜ ์žฅ์น˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ธ ๊ฐ€์ง€ ํŠน์ง•์„ ์ง€๋‹Œ๋‹ค.

    • ์ธํ„ฐํŽ˜์ด์Šค์˜ ์‚ฌ์šฉ๋ฒ•์„ ์ตํžˆ๊ธฐ๋งŒ ํ•˜๋ฉด ๋‚ด๋ถ€ ๊ตฌ์กฐ๋‚˜ ๋™์ž‘ ๋ฐฉ์‹์„ ๋ชฐ๋ผ๋„ ์‰ฝ๊ฒŒ ์กฐ์ž‘ํ•˜๊ฑฐ๋‚˜ ์˜์‚ฌ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค

    • ์ธํ„ฐํŽ˜์ด์Šค ์ž์ฒด๋Š” ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ , ๋‹จ์ˆœํžˆ ๋‚ด๋ถ€ ๊ตฌ์„ฑ์ด๋‚˜ ์ž‘๋™ ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ์ธํ„ฐํŽ˜์ด์Šค ์‚ฌ์šฉ์ž์—๊ฒŒ

      ์•„๋ฌด๋Ÿฐ ์˜ํ–ฅ์ด ์—†๋‹ค.

    • ๋Œ€์ƒ์ด ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ๋™์ผํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ์—†์ด ์ƒํ˜ธ์ž‘์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.

โ€‹

์ฑ…์ž„, ๋ฉ”์‹œ์ง€, ๊ทธ๋ฆฌ๊ณ  ์ธํ„ฐํŽ˜์ด์Šค

ํ˜‘๋ ฅ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฐ์ฒด์˜ ์ฑ…์ž„์ด ์ž์œจ์ ์ด์–ด์•ผ ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊ฐ•์กฐํ–ˆ๋‹ค.

    • ์ž์œจ์„ฑ์ด๋ž€ ์ž์‹ ์˜ ์˜์ง€์™€ ํŒ๋‹จ๋ ฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ์ฒด ์Šค์Šค๋กœ ์ฑ…์ž„์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค.

๋‹ค์Œ์œผ๋กœ ํ•œ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด์—๊ฒŒ ์š”์ฒญ์„ ์ „์†กํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๋ฉ”์‹œ์ง€์ด๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ํ˜‘๋ ฅํ•˜๊ธฐ ์œ„ํ•œ ์ ‘์ ์ด๋‹ค.

โ€‹

์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„์˜ ๋ถ„๋ฆฌ - ๊ฐ์ฒด ๊ด€์ ์—์„œ ์ƒ๊ฐํ•˜๋Š” ๋ฐฉ๋ฒ•

    • ์ข€ ๋” ์ถ”์ƒ์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค

    • ์ตœ์†Œ ์ธํ„ฐํŽ˜์ด์Šค

    • ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„ ๊ฐ„์— ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๋Š” ์ ์„ ์ธ์‹

โ€‹

์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„์˜ ๋ถ„๋ฆฌ ์›์น™

ํ›Œ๋ฅญํ•œ ๊ฐ์ฒด๋ž€ ๊ตฌํ˜„์„ ๋ชจ๋ฅธ ์ฑ„ ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์•Œ๋ฉด ์‰ฝ๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

๊ฐ์ฒด ์„ค๊ณ„์˜ ํ•ต์‹ฌ์€ ๊ฐ์ฒด๋ฅผ ๋‘ ๊ฐœ์˜ ๋ถ„๋ฆฌ๋œ ์š”์†Œ๋กœ ๋ถ„ํ• ํ•ด ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๊ฒƒ์€ ๋ฐ”๋กœ ์™ธ๋ถ€์— ๊ณต๊ฐœ๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋‚ด๋ถ€์— ๊ฐ์ถฐ์ง€๋Š” ๊ตฌํ˜„์ด๋‹ค. - ์Šคํ”„๋ง์—์„œ์˜ Service, ServiceImpl / Dao,DaoImpl ๋“ฑ...

์†Œํ”„ํŠธ์›จ์–ด๋Š” ํ•ญ์ƒ ๋ณ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„์˜ ๋ถ„๋ฆฌ ์›์น™์€ ์ค‘์š”ํ•˜๋‹ค!

โ€‹

์ฑ…์ž„์˜ ์ž์œจ์„ฑ์ด ํ˜‘๋ ฅ์˜ ํ’ˆ์งˆ์„ ๊ฒฐ์ •ํ•œ๋‹ค

โ€‹

โ€‹

 

06 / ๊ฐ์ฒด ์ง€๋„

์œ ์ผํ•˜๊ฒŒ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์€ ๋ชจ๋“  ๊ฒƒ์ด ๋ณ€ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค ๋ฟ์ด๋‹ค.

โ€‹

์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ๊ธฐ๋Šฅ์ด ์•„๋‹ˆ๋ผ ์•ˆ์ •์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹œ์Šคํ…œ์„ ๋ถ„ํ• ํ•˜๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์ ‘๊ทผ๋ฒ•์€ ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ์ฑ…์ž„-์ฃผ๋„ ์„ค๊ณ„์˜ ๋ณธ์งˆ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ๋„ ๋„์›€์ด ๋  ๊ฒƒ์ด๋‹ค.

์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ๊ธฐ๋Šฅ์ด ์•„๋‹ˆ๋ผ ์•ˆ์ •์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ผ ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ์„ ๊ตฌ์„ฑํ•˜๋ผ!

โ€‹

์œ ์Šค์ผ€์ด์Šค

    • ์‚ฌ์šฉ์ž์˜ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž์™€ ์‹œ์Šคํ…œ ๊ฐ„์— ์ด๋ค„์ง€๋Š” ์ƒํ˜ธ์ž‘์šฉ์˜ ํ๋ฆ„์„ ํ…์ŠคํŠธ๋กœ ์ •๋ฆฌํ•œ ๊ฒƒ

    • ์œ ์Šค์ผ€์ด์Šค๋Š” ์‚ฌ์šฉ์ž์™€ ์‹œ์Šคํ…œ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๋ณด์—ฌ์ฃผ๋Š” 'ํ…์ŠคํŠธ'๋‹ค.

    • ๋‘˜ ๊ฐ„์˜ ์ผ๋ จ์˜ ์ด์•ผ๊ธฐ ํ๋ฆ„์„ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค!!

โ€‹

 

 

07 / ํ•จ๊ป˜๋ชจ์œผ๊ธฐ

๋„๋ฉ”์ธ... ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์„ธ๊ณ„๋Š” ํ˜‘๋ ฅํ•˜๋Š” ์ž์œจ์ ์ธ ๊ฐ์ฒด๋“ค์˜ ๊ณต๋™์ฒด.. ์ ์ ˆํ•œ ๊ฐ์ฒด์—๊ฒŒ ์ ์ ˆํ•œ ์ฑ…์ž„์„ ํ• ๋‹น!

โ€‹

์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•˜๊ธฐ.

๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„์˜ ์ฒซ ๋ฒˆ์งธ ๋ชฉํ‘œ๋Š” ํ›Œ๋ฅญํ•œ ๊ฐ์ฒด ์„ค๊ณ„๊ฐ€ ์•„๋‹ˆ๋ผ ํ›Œ๋ฅญํ•œ ํ˜‘๋ ฅ์„ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค!

โ€‹

์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„์„ ๋ถ„๋ฆฌํ•˜๋ผ

โ€‹

โ€‹

โ€‹

๋ฆฌ๋ทฐ

์ด ์ฑ…์„ ๊ตฌ๋งคํ•œ ์‹œ๊ธฐ๋Š” ๊ฑฐ์˜ 1๋…„?์ •๋„ ๋œ ๊ฒƒ ๊ฐ™๋‹ค...

์ž‘๋…„์— ์šฐ์—ฐํžˆ ์•Œ๊ฒŒ๋˜์–ด ๊ตฌ๋งคํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ์ •๋ง ์ข‹์€ ์ฑ…์ด๋ผ๋Š” ํ‰๊ฐ€๊ฐ€ ๋งŽ์•„์„œ ๊ตฌ๋งคํ•˜๊ฒŒ ๋˜์—ˆ์—ˆ๋Š”๋ฐ ..

์ž‘๋…„์—๋Š” ๋”ฑํžˆ ์กฐ๊ธˆ์”ฉ ์ฝ๋‹ค๊ฐ€ ๋‚ดํŒฝ๊ฐœ์ณค์—ˆ๋‹ค.

โ€‹

์ด ์ฑ…์€ ๊ฐ์ฒด์ง€ํ–ฅ์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด ๋งŽ๊ณ , ๋งŽ์ด ์•Œ์ˆ˜๋ก ์ฑ…์˜ ๋‚ด์šฉ์ด ๋” ์™€๋‹ฟ๋Š”๋‹ค๋Š” ๋ง์ด ๋งŽ์•˜๋‹ค.

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

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

์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ ์ด๋ผ๋Š” ๊ด€์ ์—์„œ ๊ฐ์ฒด์ง€ํ–ฅ์— ๋Œ€ํ•ด ๋ฐ”๋ผ๋ณด๊ณ , ์–ด๋– ํ•œ ์„ค๊ณ„๊ฐ€ ์ข‹์€์ง€, ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์„ค๊ณ„์—์„œ ์ค‘์š”ํ•œ ๋ฉ”์‹œ์ง€, ๊ฐ์ฒด๊ฐ„์˜ ํ˜‘๋ ฅ ๋“ฑ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ์˜ˆ์ œ์™€ ๋‚ด์šฉ์„ ํ†ตํ•ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

โ€‹

ํ˜„์‹ค์„ธ๊ณ„์™€ ๋น„์Šทํ•˜๋ฉด์„œ๋„ ๋‹ค๋ฅธ ๊ฐ์ฒด์ง€ํ–ฅ ์„ธ๊ณ„์—์„œ๋Š”, ๊ฐ์ฒด๋“ค์ด ์ž์œจ์ ์ธ ์ฑ…์ž„์„ ์ง€๋‹ˆ๊ณ  ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด ์ฑ… ์ „์ฒด์ ์œผ๋กœ ์–ธ๊ธ‰๋œ ..

    • ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ ์ด๋ผ๋Š” ๊ฐœ๋…,

    • ๊ฐ์ฒด ์‚ฌ์ด์˜ ํ†ต์‹ ์€ '๋ฉ”์‹œ์ง€'๋ฅผ ํ†ตํ•ด ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค.

    • ๊ฐ์ฒด๋Š” ์ž์œจ์ ์ด์–ด์•ผ ํ•˜๋ฉฐ, ์Šค์Šค๋กœ ์ฑ…์ž„์„ ๊ฐ–๊ณ  ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ณ ,

    • ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„์ฒด๋Š” ๋ถ„๋ฆฌ๋˜์–ด์•ผ ํ•˜๊ณ ,

    • ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„์˜ ์—ฌ๋Ÿฌ ์›์น™๋“ค ๋“ฑ๋“ฑ...

๋“ฑ๋“ฑ์˜ ๋‚ด์šฉ์„ ํ†ตํ•ด ๊ฐ์ฒด์ง€ํ–ฅ์ด๋ž€ ์‚ฌ์‹ค์— ๋Œ€ํ•ด ์ข€ ๋” ๋ฐฐ์šฐ๊ณ  ๋‹ค๊ฐ€๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

โ€‹

์ด๋Ÿฌํ•œ ์ด๋ก ์„ ๊ณต๋ถ€ํ•˜๋Š”๊ฒƒ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ, ๊ฐ€์žฅ ์ค‘์š”ํ•œ๊ฒƒ์€ ํ•™์Šตํ•œ ์ด๋ก ์„ ํ† ๋Œ€๋กœ ์‹ค์ œ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

์‹ค์ œ ๊ตฌํ˜„ํ•  ๋•Œ ์ด ์ฑ…์˜ ๋‚ด์šฉ๋“ค์„ ๋– ์˜ฌ๋ ค ๊ฐ์ฒด์ง€ํ–ฅ์ด๋ž€ ๋„๊ตฌ๋ฅผ ์ข€ ๋” ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•ด๋ด์•ผ๊ฒ ๋‹ค.

์ฑ…์˜ ํ›„๋ฐ˜๋ถ€(6์žฅ~) ๋ถ€ํ„ฐ๋Š” ์ฝ”๋“œ๋„ ๋‚˜์˜ค๊ณ , ์ง‘์ค‘๋ ฅ๋„ ์ข€ ๋–จ์–ด์ ธ์„œ ์ „์ฒด์ ์ธ ์ดํ•ด ์—†์ด ์ข€ ๋นจ๋ฆฌ ์ฝ์€๊ฒƒ ๊ฐ™๋‹ค.

๋‚ด๋…„์— ๋‹ค์‹œํ•œ๋ฒˆ ์ด ์ฑ…์„ ์ฝ์—ˆ์„๋•Œ, ์ฑ…์˜ ๋‚ด์šฉ์ด ์ข€๋” ์‰ฝ๊ฒŒ ์ฝํ˜”์œผ๋ฉด ์ข‹๊ฒ ๋‹ค~

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€