* ๊ฐ์ธ ํ์ต์ ์ํ ์ ๋ฆฌ์
๋๋ค.
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์ ์ฒ์ ํ์ตํ ๋ ๋ฐฐ์ ๋ ๋ด์ฉ์ด ์์ด ๋ฐ๊ฐ์ด ๋ง์์ผ๋ก ํ์ตํ ์ ์์๋ค.