โœ๏ธ Study/์ž๊ฒฉ์ฆ | ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] 1๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ | ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„

๐Ÿฉท ๋ฏผ์˜ 2024. 1. 11. 00:42

* ๊ฐœ์ธ ํ•™์Šต์„ ์œ„ํ•œ ์ •๋ฆฌ์ž…๋‹ˆ๋‹ค.

1๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„
3์žฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„

 

020. ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜

1. ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์˜ ์„ค๊ณ„

๊ธฐ๋ณธ์›๋ฆฌ๋กœ๋Š” ๋ชจ๋“ˆํ™”, ์ถ”์ƒํ™”, ๋‹จ๊ณ„์  ๋ถ„ํ•ด, ์ •๋ณด์€๋‹‰์ด ์žˆ๋‹ค.

 

2. ๋ชจ๋“ˆํ™”(Modularity)

์†Œํ”„ํŠธ์›จ์–ด์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ์˜ ์ˆ˜์ • ๋ฐ ์žฌ์‚ฌ์šฉ, ์œ ์ง€ ๊ด€๋ฆฌ ๋“ฑ์ด ์šฉ์ดํ•˜๋„๋ก ์‹œ์Šคํ…œ์˜๊ธฐ๋Šฅ๋“ค์„ ๋ชจ๋“ˆ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ

 

3. ์ถ”์ƒํ™” (Abstraction)

๋ฌธ์ œ์˜ ์ „์ฒด์ ์ด๊ณ  ํฌ๊ด„์ ์ธ ๊ฐœ๋…์„ ์„ค๊ฒŒํ•œ ํ›„ ์ฐจ๋ก€๋กœ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ๊ตฌ์ฒดํ™” ์‹œ์ผœ ๋‚˜๊ฐ€๋Š” ๊ฒƒ

- ์ตœ์†Œ์˜ ๋น„์šฉ์œผ๋กœ ์‹ค์ œ ์ƒํ™ฉ์— ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๊ณ , ์‹œ;์Šคํ…œ์˜ ๊ตฌ์กฐ ๋ฐ ๊ตฌ์„ฑ์„ ๋Œ€๋žต์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

 

4. ๋‹จ๊ณ„์  ๋ถ„ํ•ด(Stepwise Refinement)

ํ•˜ํ–ฅ์‹ ์„ค๊ณ„ ์ „๋žต์œผ๋กœ, ๋ฌธ์ œ๋ฅผ ์ƒ์œ„์˜ ์ค‘์š” ๊ฐœ๋…์œผ๋กœ๋ถ€ํ„ฐ ํ•˜์œ„์˜ ๊ฐœ๋…์œผ๋กœ ๊ตฌ์ฒดํ™” ์‹œํ‚ค๋Š” ๋ถ„ํ•  ๊ธฐ๋ฒ•

- ์ถ”์ƒํ™”์˜ ๋ฐ˜๋ณต์— ์˜ํ•ด ์„ธ๋ถ„ํ™”

 

5. ์ •๋ณด์€๋‹‰(Information Hiding)

ํ•œ ๋ชจ๋“ˆ ๋‚ด๋ถ€์— ํฌํ•จ๋œ ์ ˆ์ฐจ์™€ ์ž๋ฃŒ๋“ค์˜ ์ •๋ณด๊ฐ€ ๊ฐ์ถ”์–ด์ ธ ๋‹ค๋ฅธ ๋ชจ๋“ˆ์ด ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•˜๋Š” ๊ธฐ๋ฒ•

- ๋ชจ๋“ˆ์„ ๋…๋ฆฝ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ , ์ˆ˜์ •, ์‹œํ—˜, ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ด

 

6. ์†Œํ”„ํŠธ์›จ์–ด ์•„์ด์ผ์ฒ˜์˜ ํ’ˆ์งˆ ์†์„ฑ

- ์‹œ์Šคํ…œ ์ธก๋ฉด : ์„ฑ๋Šฅ, ๋ณด์•ˆ, ๊ฐ€์šฉ์„ฑ, ๊ธฐ๋Šฅ์„ฑ, ์‚ฌ์šฉ์„ฑ, ๋ณ€๊ฒฝ ์šฉ์ด์„ฑ, ํ™•์žฅ์„ฑ, ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ, ๋ฐฐ์น˜์„ฑ, ์•ˆ์ •์„ฑ ๋“ฑ

 

021. ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

1. ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด(Patterns)์˜ ๊ฐœ์š”

์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ๊ตฌ์กฐ๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ์ ์ธ ์œค๊ณฝ ์ œ์‹œ

- ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ์ค„์—ฌ ๊ฐœ๋ฐœ ์‹œ๊ฐ„ ๋‹จ์ถ•

- ๊ฒ€์ฆ๋œ ๊ตฌ์กฐ๋กœ ๊ฐœ๋ฐœํ•˜๊ธฐ์— ์•ˆ์ •์ ์ธ ๊ฐœ๋ฐœ

- ์˜์‚ฌ์†Œํ†ต ๊ฐ„ํŽธ

 

2. ๋ ˆ์ด์–ด ํŒจํ„ด

 

3. ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ํŒจํ„ด

 

4. ํŒŒ์ดํ”„ - ํ•„ํ„ฐ ํŒจํ„ด

 

5. ๋ชจ๋ธ - ๋ทฐ - ์ปจํŠธ๋กค๋Ÿฌ ํŒจํ„ด

 

002. ๊ฐ์ฒด์ง€ํ–ฅ

1. ๊ฐ์ฒด์ง€ํ–ฅ์˜ ๊ฐœ์š”

ํ˜„์‹ค ์„ธ๊ณ„์˜ ๊ฐœ์ฒด๋ฅผ ๊ธฐ๊ณ„์˜ ๋ถ€ํ’ˆ์ฒ˜๋Ÿผ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด, ๊ธฐ๊ณ„์ ์ธ ๋ถ€ํ’ˆ๋“ค์„ ์กฐ๋ฆฝํ•˜์—ฌ ์ œํ’ˆ์„ ๋งŒ๋“ค ๋“ฏ์ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ์—๋„ ๊ฐ์ฒด๋“ค์„ ์กฐ๋ฆฝํ•ด์„œ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ฒ•

 

2. ๊ฐ์ฒด

: ๋ฐ์ดํ„ฐ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฌถ์–ด ๋†“์€(์บก์Šํ™”ํ•œ) ํ•˜๋‚˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋“ˆ

- ๋ฐ์ดํ„ฐ

- ํ•จ์ˆ˜

 

3. ํด๋ž˜์Šค

 

4. ์บก์Šํ™”

๋ฐ์ดํ„ฐ(์†์„ฑ)์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋Š ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ๊ฒƒ

 

5. ์ƒ์†

์ด๋ฏธ ์ •์˜๋œ ์ƒ์œ„ ํด๋ž˜์Šค์˜ ๋ชจ๋“  ์†์ƒ๊ณผ ์—ฐ์‚ฐ์„ ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ๋ฌผ๋ ค๋ฐ›์Œ

- ๋‹ค์ค‘ ์ƒ์† : ํ•œ ๊ฐœ์˜ ํด๋ž˜์Šค๊ฐ€ ๋‘ ๊ฐœ ์ด์ƒ์˜ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์†์„ฑ๊ณผ ์—ฐ์‚ฐ์„ ์ƒ์† ๋ฐ›๋Š” ๊ฒƒ

 

6. ๋‹คํ˜•์„ฑ

 

023. ๋ชจ๋“ˆ

1. ๋ชจ๋“ˆ์˜ ๊ฐœ์š”

๋ชจ๋“ˆ์€ ๋ชจ๋“ˆํ™”๋ฅผ ํ†ตํ•ด ๋ถ„๋ฆฌ๋œ ์‹œ์Šคํ…œ์˜ ๊ฐ ๊ธฐ๋Šฅ

 

2. ๊ฒฐํ•ฉ๋„

(๊ฒฐํ•ฉ๋„๊ฐ€ ๋‚ฎ์•„์•ผ ์ข‹์Œ)

 

- ์ž๋ฃŒ ๊ฒฐํ•ฉ๋„

- ์Šคํƒฌํ”„ ๊ฒฐํ•ฉ๋„

- ์ œ์–ด ๊ฒฐํ•ฉ๋„

- ์™ธ๋ถ€ ๊ฒฐํ•ฉ๋„

- ๊ณตํ†ต(๊ณต์œ )๊ฒฐํ•ฉ๋„

- ๋‚ด์šฉ ๊ฒฐํ•ฉ๋„

 

3. ์‘์ง‘๋„

์‘์ง‘๋„๊ฐ€ ๋†’์•„์•ผ ์ข‹์Œ

 

- ๊ธฐ๋Šฅ์  ์‘์ง‘๋„

- ์ˆœ์ฐจ์  ์‘์ง‘๋„

- ๊ตํ™˜(ํ†ต์‹ )์  ์‘์ง‘๋„

- ์ ˆ์ฐจ์žใ…“ใ„ฑ  ์‘์ง‘๋„

- ์‹œ๊ฐ„์   ์‘์ง‘๋„

- ๋…ผ๋ฆฌ์   ์‘์ง‘๋„

- ์šฐ์—ฐ์   ์‘์ง‘๋„

 

4. ํŒฌ์ธ / ํŒฌ ์•„์›ƒ

๋ชจ๋“ˆ์— ๋“ค์–ด์˜ค๋ฉด ํŒฌ์ธ, ๋‚˜๊ฐ€๋ฉด ํŒฌ์•„์›ƒ

 

024. ๊ณตํ†ต ๋ชจ๋“ˆ

3. ํšจ๊ณผ์ ์ธ ๋ชจ๋“ˆ ์„ค๊ณ„ ๋ฐฉ์•ˆ

- ๊ฒฐํ•ฉ๋„๋Š” ์ค„์ด๊ณ  ์‘์ง‘๋„๋Š” ๋†’์—ฌ์„œ๋ชจ๋“ˆ์˜ ๋…๋ฆฝ์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ธ๋‹ค.

 

025. ์ฝ”๋“œ

1. ์ฝ”๋“œ์˜ ๊ฐœ์š”

- ์‹๋ณ„

- ๋ถ„๋ฅ˜

- ๋ฐฐ์—ด

 

026. ๋””์ž์ธ ํŒจํ„ด

1. ๋””์ž์ธ ํŒจํ„ด์˜ ๊ฐœ์š”

๋””์ž์ธ ํŒจํ„ด์€ ๊ฐ ๋ชจ๋“ˆ์˜ ์„ธ๋ถ„ํ™”๋œ ์—ญํ• ์ด๋‚˜ ๋ชจ๋“ˆ๋“ค ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ˆ˜์ค€์˜ ์„ธ๋ถ€์ ์ธ ๊ตฌํ˜„ ๋ฐฉ์•ˆ์„ ์„ค๊ณ„ํ•  ๋•Œ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ์ „ํ˜•์ ์ธ ํ•ด๊ฒฐ ๋ฐฉ์‹ ๋˜๋Š” ์˜ˆ์ œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

2. ์ƒ์„ฑ ํŒจํ„ด

 

3. ๊ตฌ์กฐ ํŒจํ„ด

 

4. ํ–‰์œ„ ํŒจํ„ด

 


์˜ค๋Š˜์˜ ๊ณต๋ถ€ ํ›„๊ธฐ

: Python์„ ์ฒ˜์Œ ํ•™์Šตํ•  ๋•Œ ๋ฐฐ์› ๋˜ ๋‚ด์šฉ์ด ์žˆ์–ด ๋ฐ˜๊ฐ€์šด ๋งˆ์Œ์œผ๋กœ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.