๐ก ๋ชจ๋ · ๋ชจ๋ํ
๋ชจ๋: ๋ ๋ฆฝ์ ์ธ ํ์๋จ์๋ก ์๊ณ ์ดํดํ ์ ์๋ ๋จ์๋ก ๋๋ ๊ฒ, ๊ธฐ๋ฅ ๋จ์๋ก ๋ถํด ๋ฐ ์ถ์ํ
- ex) ์๋ฐ์ ๊ฒฝ์ฐ( ๋ชจ๋ > ํจํค์ง > ํด๋์ค )
๋ชจ๋ํ: ์ํํธ์จ์ด์ ์ค๊ณ๊ธฐ๋ฒ, ์ํํธ์จ์ด๋ฅผ ๊ฐ ๊ธฐ๋ฅ ๋จ์๋ก ๋๋๋ ๊ฒ
์์ง๋(Cohesion)
- ๋์ ์๋ก ์ด์์ ์ธ ๋ชจ๋ํ์ด๋ค.
- ํ๋์ ๋ชจ๋ ์ ์์๋ค๊ฐ์ ๊ด๋ จ ์ ๋
์ฐ์ฐ์ ์์ง๋ < ๋ ผ๋ฆฌ์ ์์ง๋ < ์๊ฐ์ ์์ง๋ < ์ ์ฐจ์ ์์ง๋ < ๊ตํ์ ์์ง๋ < ์์ฐจ์ ์์ง๋ < ๊ธฐ๋ฅ์ ์์ง๋(๐)
์ฐ์ฐ์ ์์ง๋(Coincidental Cohesion)
๋ชจ๋ ๋ด๋ถ์ ์์๊ธ ๊ฐ์ ๊ด๋ จ, ์ฐ๊ด์ด ์๋ ๊ตฌ์ฑ์ด๋ค.
๋ ผ๋ฆฌ์ ์์ง๋(Logical Cohesion)
์ ์ฌํ ์ฑ๊ฒฉ์ ๊ฐ๊ฑฐ๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋น์ทํ ๊ธฐ๋ฅ์ ์ํํ๋ ์์๋ค์ ๋ชจ๋๋ก ๊ตฌ์ฑํ๋ค. ๊ทธ๋ฌ๋ ์๋ก ๋ฐ์ ํ์ง ์์ ํํ์ด๋ค.
์๊ฐ์ ์์ง๋(Temporal Cohesion)
ํน์ ์๊ฐ์ ์ฒ๋ฆฌ๋์ด์ผ ํ๋ ํ๋๋ค์ ํ ๋ชจ๋์์ ์ฒ๋ฆฌํ๋ค.
- ์์ธ์ํฉ, ์๋ฌ๋ก๊ทธ
์ ์ฐจ์ ์์ง๋(Procedural Cohesion)
๋ชจ๋ ์์ ๊ตฌ์ฑ์์๋ค์ด ์์ฐจ์ ์ผ๋ก ์คํ. ๋ค์ ๊ธฐ๋ฅ์์๋ก ํ๋ฆ์ ์ด ์์๊ฐ ์ ๋ฌ๋๋ค.
- ํ์ผ ํ๊ฐ ํ์ธ ํ ์ฝ๋ ํจ์
๊ตํ์ (ํต์ ์ ) ์์ง๋(Communication Cohesion)
์์๊ฐ ์ค์ํ์ง ์๋ค. ๋ชจ๋ ์์๋ค์ด ๋์ผํ ๋ฐ์ดํฐ๋ฅผ(์ ๋ ฅ ๋๋ ์ถ๋ ฅ ๋ฐ์ดํฐ)๋ฅผ ์ฌ์ฉํด ์๋ก ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์ํํ๋ค.
์์ฐจ์ ์์ง๋(Sequential Cohesion)
๋ชจ๋์ ํ ํ๋(๊ธฐ๋ฅ)์์ ๋์จ ์ถ๋ ฅ ๊ฐ์ด ๋ค๋ฅธ ํ๋(๊ธฐ๋ฅ)์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ๋๋ค.
- ํ์ผ์ ์ฝ๊ณ ์ฒ๋ฆฌํ๋ ํจ์
๊ธฐ๋ฅ์ ์์ง๋(Functional Cohesion)
๋ชจ๋์ ๋ชจ๋ ์์๊ฐ ๋จ ํ๋์ ๊ธฐ๋ฅ์ ์ํํ๋ค.
๊ฒฐํฉ๋(Coupling)
- ๋ฎ์ ์๋ก ์ด์์ ์ธ ๋ชจ๋ํ์ด๋ค.
- ๋ชจ๋ ↔ ๋ชจ๋์ ์ํธ ๊ฒฐํฉ๋, ์์กด๋, ์ฐ๊ด ๊ด๊ณ
์๋ฃ ๊ฒฐํฉ๋(๐) < ์คํฌํ ๊ฒฐํฉ๋ < ์ ์ด ๊ฒฐํฉ๋ < ์ธ๋ถ ๊ฒฐํฉ๋ < ๊ณตํต ๊ฒฐํฉ๋ < ๋ด์ฉ ๊ฒฐํฉ๋
์๋ฃ ๊ฒฐํฉ๋(Data Coupling)
๋ชจ๋๊ฐ ํ๋ผ๋ฏธํฐ๋ฑ์ ํตํด์๋ง ๋ชจ๋๊ฐ์ ์ํธ ์์ฉ(๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒฝ์ฐ)์ด ์ผ์ด๋๋ ๊ฒฝ์ฐ.
ํ ๋ชจ๋์ด ๋ณ๊ฒฝ๋์ด๋ ๋ค๋ฅธ ๋ชจ๋์๋ ์ํฅ์ด ์๋ค.
์คํฌํ ๊ฒฐํฉ๋(Stamp Coupling)
๋ ๋ชจ๋์ด ๋์ผํ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ฐธ์กฐํ๋ค. ๋ฐฐ์ด, ๊ฐ์ฒด, ๊ตฌ์กฐ๋ฑ์ด ์ ๋ฌ๋๋ค.
์ ์ด ๊ฒฐํฉ๋(Control Coupling)
ํ๋์ ๋ชจ๋์ด ํ๋ฆ์ ์ ์ดํ๋ ์์๋ฅผ ์ ๋ฌํด ๋ค๋ฅธ ๋ชจ๋์ ํ๋ฆ์ ์ ์ดํ๋ค.
์ธ๋ถ ๊ฒฐํฉ๋(External Coupling)
๋ชจ๋์ด ์ธ๋ถ์ ๋ชจ๋ ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ๋ค.
๋ ๊ฐ์ ๋ชจ๋์ด ์ธ๋ถ์ ๋ฐ์ดํฐ, ํต์ ํ๋กํ ์ฝ, ๋๋ฐ์ด์ค ์ธํฐํ์ด์ค ๋ฑ์ ๊ณต์ ํ ๋ ๋ฐ์ํ๋ค.
๊ณตํต ๊ฒฐํฉ๋(Common Coupling)
์ฌ๋ฌ ๋ชจ๋์ด ํ๋์ ๋ฐ์ดํฐ ์ฐธ์กฐ, ๊ณต์ ํ๋ค. ์์๋ก ์ ์ญ๋ณ์(gloval varuable)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋งํ ์ ์๋ค.
๊ณต์ ํ๋ ๋ฐ์ดํฐ(์ ์ญ๋ณ์)๊ฐ ๋ณ๊ฒฝ๋๋ฉด ํด๋น ์์์ ์ฌ์ฉํ๋ ๋ชจ๋ ๋ชจ๋์ ๋ณ๊ฒฝ์ด ํ์ํ ์๋ ์๋ค.
๋ด์ฉ ๊ฒฐํฉ๋(Content Coupling)
ํ๋์ ๋ชจ๋์ด ์๋ฅธ ๋ชจ๋์ ๋ด๋ถ ๋์์ ์ง์ ์ฐธ์กฐํ์ฌ ์์ ํ๊ฑฐ๋ ๋ด๋ถ๋์์ ์์กดํ๋ค.
ํ ๋ชจ๋์ด ๋ณ๊ฒฝ๋๋ฉด ๋ค๋ฅธ ๋ชจ๋์ ๋ณ๊ฒฝ์ด ๋ฐ๋์ ํ์ํ๋ค.