์์ง๋(Cohesion)
- ๊ฐ๋ณ ๋ชจ๋์ด ๋ ๋ฆฝ์ ์ธ ๊ธฐ๋ฅ์ผ๋ก ์ ์๋์ด ์๋ ์ ๋
- ์์ง๋↑ → ํ์ง↑
| ๊ธฐ๋ฅ์ (Functional) | ๋ชจ๋ ๋ด๋ถ์ ๋ชจ๋ ๊ธฐ๋ฅ ์์๊ฐ ๋จ์ผ ๋ชฉ์ ์ ์ฐ๊ด๋์ด ์ํ |
| ์์ฐจ์ (Sequential) | ๋ชจ๋ ๋ด ํ ์ฒ๋ฆฌ์ ์ถ๋ ฅ์ ๋ค์ ํ๋์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ก ์ฌ์ฉ |
| ํต์ ์ (Communication) | ๋์ผํ ์ ๋ ฅ/์ถ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์ํ |
| ์ ์ฐจ์ (Procedural) | ๋ชจ๋ ๋ด ๊ตฌ์ฑ ์์๋ค์ด ์์ฐจ์ ์ผ๋ก ์ํ๋์ง๋ง ์๋ก ๋ค๋ฅธ ๊ธฐ๋ฅ ์ํ |
| ์๊ฐ์ (Temporal) | ํน์ ์์ ๋ด ์ฒ๋ฆฌ๋์ด์ผ ํ๋ ๊ธฐ๋ฅ๋ค์ ๋ชจ์ ํ๋์ ๋ชจ๋๋ก ๊ตฌ์ฑ |
| ๋ ผ๋ฆฌ์ (Logical) | ์ ์ฌํ ์ฑ๊ฒฉ์ ๊ฐ์ง ๊ธฐ๋ฅ์ ํ๋์ ๋ชจ๋๋ก ๊ตฌ์ฑ |
| ์ฐ์ฐ์ (Coincidental) | ๊ฐ ๊ตฌ์ฑ ์์๋ค์ด ์๋ก ๊ด๋ จ ์๋ ์์๋ก๋ง ๊ตฌ์ฑ |
์ฐ์ฐ์ <๋ ผ๋ฆฌ์ <์๊ฐ์ <์ ์ฐจ์ <ํต์ ์ <์์ฐจ์ <๊ธฐ๋ฅ์ ์์ง๋ ์์๋ก ์์ง๋๊ฐ ๋์์ง๋ค.
โฌ๏ธ ๋ฎ์ ์์ง๋ = ํ์ง ๋ฎ์
โฌ๏ธ ๋์ ์์ง๋ = ํ์ง ๋์
๊ฒฐํฉ๋(Coupling)
- ๊ฐ๋ณ ๋ชจ๋ ๊ฐ ์ํธ ์์กดํ๋ ์ ๋
- ๊ฒฐํฉ๋↑ → ํ์ง↓
| ๋ด์ฉ ๊ฒฐํฉ (Content Coupling) | ํ ๋ชจ๋์ด ๋ค๋ฅธ ๋ชจ๋์ ๋ด๋ถ ๊ธฐ๋ฅ ๋ฐ ์๋ฃ๋ฅผ ์ง์ ์ฐธ์กฐ/์์ |
| ๊ณตํต ๊ฒฐํฉ (Common Coupling) | ๋ ๋ชจ๋์ด ๋์ผํ ์ ์ญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ (์ ์ญ ๋ณ์ ์ฐธ์กฐ) |
| ์ธ๋ถ ๊ฒฐํฉ (External Coupling) | ๋ชจ๋๋ค์ด ์ ๋ณ๋ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ถ ๋ชจ๋์ ํตํด ๊ตํํ๊ฑฐ๋ ์ธ๋ถ ์ฅ์น๋ฅผ ๊ณต์ |
| ์ ์ด ๊ฒฐํฉ (Control Coupling) | ํ ๋ชจ๋์ด ๋ค๋ฅธ ๋ชจ๋์ ๋ด๋ถ ๋ ผ๋ฆฌ ์ ์ด๋ฅผ ์ํด ์ ์ด ์ ํธ๋ฅผ ์ ๋ฌ |
| ์คํฌํ ๊ฒฐํฉ (Stamp Coupling) | ๋ชจ๋ ๊ฐ ์ธํฐํ์ด์ค๋ก ๋ฐฐ์ด, ๊ตฌ์กฐ ๋ฑ ๋ณตํฉ ์๋ฃํ ์ ๋ฌ |
| ์๋ฃ ๊ฒฐํฉ (Data Coupling) | ๋จ์ํ ๋ฐ์ดํฐ๋ง ์ ๋ฌํ๋ ํํ (๊ฐ์ฅ ๋ฎ์ ๊ฒฐํฉ๋) |
๋ด์ฉ>๊ณตํต>์ธ๋ถ>์ ์ด>์คํฌํ>์๋ฃ ๊ฒฐํฉ๋ ์์ผ๋ก ๊ฒฐํฉ๋๊ฐ ๋ฎ์์ง๋ค.
๋ชจ๋์ ๋ ๋ฆฝ์ฑ์ “์์ง๋๋ ๋๊ณ , ๊ฒฐํฉ๋๋ ๋ฎ์์๋ก” ๋์์ง๋ค.
- ๋์ ์์ง๋ = ๋ชจ๋์ด ๋ช ํํ ๋จ์ผ ๊ธฐ๋ฅ ์ํ
- ๋ฎ์ ๊ฒฐํฉ๋ = ๋ค๋ฅธ ๋ชจ๋๊ณผ ์์กด์ด ์ ์
'๐ป CS > ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [๋คํธ์ํฌ] ๋ผ์ฐํ ํ๋กํ ์ฝ (0) | 2025.10.22 |
|---|---|
| [์ด์์ฒด์ ] ํ๋ก์ธ์ค ์ค์ผ์ค (0) | 2025.10.22 |
| [์ํํธ์จ์ด ๊ตฌ์ถ] GoF(Gang of Four) ๋์์ธ ํจํด (3) | 2025.10.16 |
| [์ ๋ณด ๋ณด์] ๋ณด์ ๊ณต๊ฒฉ ๊ธฐ๋ฒ (0) | 2025.10.16 |
| [์ํํธ์จ์ด ๊ตฌ์ถ] ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง (0) | 2025.10.16 |