๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Basics/Concepts

์‘์ง‘๋„์™€ ๊ฒฐํ•ฉ๋„ ์ด์ •๋ฆฌ : ์„œ๋ฒ„ํ”„๋กœ๊ทธ๋žจ์˜ ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋“ˆ

by IworldT 2022. 2. 28.
๋ฐ˜์‘ํ˜•

 

์ด๋ฒˆ ํฌ์ŠคํŒ…์€ ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋“ˆ ๊ฐ„์˜ ์‘์ง‘๋„์™€ ๊ฒฐํ•ฉ๋„์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์‘์ง‘๋„์™€ ๊ฒฐํ•ฉ๋„์— ๋Œ€ํ•œ ๊ฐ€๋ฒผ์šด ์„ค๋ช…

 

์‘์ง‘๋„๋Š” ๋ชจ๋“ˆ ๋‚ด์˜ ๊ธฐ๋Šฅ ๊ฐ„์˜ ์—ฐ๊ด€์„ฑ,

๊ฒฐํ•ฉ๋„๋Š” ๋ชจ๋“ˆ ๊ฐ„์˜ ์—ฐ๊ด€์„ฑ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค๊ณ  ๋ณด์‹œ๋ฉด ๋˜๋Š”๋ฐ์š”.

 

๋ชจ๋“ˆ์„ ํ•˜๋‚˜์˜ '๋™๋„ค' ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ , ๋ชจ๋“ˆ ๋‚ด์˜ ๊ธฐ๋Šฅ๋“ค์„ ๊ฐ๊ฐ ๋ณ‘์›, ํ•™๊ต ๋“ฑ์˜ '์‹œ์„ค'๋กœ ์ƒ๊ฐํ•˜๋ผ๊ณ  ํ•˜์…จ๋˜ ๊ต์ˆ˜๋‹˜์˜ ๋ง์”€์ด ๋– ์˜ค๋ฆ…๋‹ˆ๋‹ค.

 

์—ฌ๋Ÿฌ ์‹œ์„ค๋“ค์€ ๋ญ‰์ณ์žˆ์„ ์ˆ˜๋ก ํŽธ๋ฆฌํ•˜๊ณ  ๊ฐ„ํŽธํ•ด์ง€๊ณ  ํ•˜๋‚˜์˜ ๋™๋„ค๋ฅผ ์ด๋ฃจ๊ธฐ ์ข‹์œผ๋ฏ€๋กœ ์‘์ง‘๋„๊ฐ€ ๋†’์•„์•ผ ํ•˜๊ณ ,

๊ฐ ๋™๋„ค๋Š” ๊ตฌ๋ณ„๋˜์–ด์žˆ๊ณ  ์„œ๋กœ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์•„์•ผ ํŽธ๋ฆฌํ•˜๋ฏ€๋กœ ๊ฒฐํ•ฉ๋„๊ฐ€ ๋‚ฎ์•„์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ A๋™๋„ค(๋ชจ๋“ˆ)์—์„œ ๋ณ‘์›(๊ธฐ๋Šฅ)์„ ๋“ค๋ €๋Š”๋ฐ, ๊ผญ B๋™๋„ค(๋ชจ๋“ˆ)์˜ ์•ฝ๊ตญ(๊ธฐ๋Šฅ)์œผ๋กœ ์ฒ˜๋ฐฉ์„ ๋ฐ›์œผ๋Ÿฌ ๊ฐ€์•ผ ํ•œ๋‹ค๋ฉด?

๋„ˆ๋ฌด ๋น„ํšจ์œจ ์ ์ด๊ฒ ์ฃ . ์œ„์˜ ์ƒํ™ฉ์ด ํ•œ ๋ชจ๋“ˆ์ด ๋‹ค๋ฅธ ๋ชจ๋“ˆ๊ณผ ๊ฒฐํ•ฉ๋˜์–ด์žˆ๋Š” ๊ฒฐํ•ฉ๋„๊ฐ€ ๋†’์€ ์ƒํ™ฉ์ด๋ผ๊ณ  ์ดํ•ดํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

์ผ๋ฐ˜์ ์œผ๋กœ ์‘์ง‘๋„๊ฐ€ ๋†’์„์ˆ˜๋ก ๋†’์€ ํ’ˆ์งˆ, 

๊ฒฐํ•ฉ๋„๊ฐ€ ๋‚ฎ์„์ˆ˜๋ก ๋†’์€ ํ’ˆ์งˆ ์ž…๋‹ˆ๋‹ค.

 

 


 

์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋“ˆ ์‘์ง‘๋„๋ž€?

์‘์ง‘๋„๋Š” ๋ชจ๋“ˆ ๋‚ด๋ถ€์—์„œ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์— ๋ฐ€์ ‘ํ•œ ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ์žˆ๋Š” ์ •๋„๋กœ ํ‰๊ฐ€๋˜๋ฉฐ, ์‘ ์ง‘๋„๊ฐ€ ๋†’์„์ˆ˜๋ก ํ•„์š”ํ•œ ์š”์†Œ๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ณ  ๋‚ฎ์„์ˆ˜๋ก ๊ด€๋ จ์ด ์ ์€ ์š”์†Œ๋“ค๋กœ ๊ตฌ์„ฑ ๋˜์–ด์žˆ๋‹ค.

-> ์‘์ง‘๋„๋Š” ํ•œ ๋ชจ๋“ˆ ์•ˆ์˜ ๊ธฐ๋Šฅ๋“ค์˜ ์—ฐ๊ด€์„ฑ ์ •๋„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

์‘์ง‘๋„์˜ ์œ ํ˜•๊ณผ ์„ค๋ช…

์œ ํ˜• ์„ค๋ช…
๊ธฐ๋Šฅ์  ์‘์ง‘๋„ (Functional Cohesion) ๋ชจ๋“ˆ ๋‚ด๋ถ€์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ๋‹จ์ผํ•œ ๋ชฉ์ ์„ ์œ„ํ•ด ์ˆ˜ํ–‰๋˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค. ๊ตฌ์กฐ๋„ ์ตœํ•˜์œ„ ๋ชจ๋“ˆ์—์„œ ๋งŽ์ด ๋ฐœ๊ฒฌ๋œ๋‹ค.
์ˆœ์ฐจ์  ์‘์ง‘๋„ (Sequential Cohesion) ๋ชจ๋“ˆ ๋‚ด์—์„œ ํ•œ ํ™œ๋™์œผ๋กœ๋ถ€ํ„ฐ ๋‚˜์˜จ ์ถœ๋ ฅ๊ฐ’์„ ๋‹ค๋ฅธ ํ™œ๋™์˜ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.
์˜ˆ) ํ–‰๋ ฌ ์ž…๋ ฅ ํ›„ ๊ทธ ํ–‰๋ ฌ์˜ ์—ญํ–‰๋ ฌ์„ ๊ตฌํ•ด์„œ ์ด๋ฅผ ์ถœ๋ ฅ
ํ†ต์‹ ์  ์‘์ง‘๋„ (Communication Cohesion) ๋™์ผํ•œ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ™œ๋™๋“ค์ด ๋ชจ์—ฌ ์žˆ์„ ๊ฒฝ์šฐ์ด๋‹ค.
์˜ˆ) ๊ฐ™์€ ์ž…๋ ฅ ์ž๋ฃŒ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ A๋ฅผ ๊ณ„์‚ฐํ•œ ํ›„ B๋ฅผ ๊ณ„์‚ฐ
์ ˆ์ฐจ์  ์‘์ง‘๋„ (Procedural Cohesion) ๋ชจ๋“ˆ์ด ๋‹ค์ˆ˜์˜ ๊ด€๋ จ ๊ธฐ๋Šฅ์„ ๊ฐ€์งˆ ๋•Œ ๋ชจ๋“ˆ ์•ˆ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์ด ๊ทธ ๊ธฐ๋Šฅ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ๊ฒฝ์šฐ์ด๋‹ค.
์˜ˆ) Restart๋ฃจํ‹ด: ์ด๊ณ„ ์ถœ๋ ฅํ•˜๊ณ  ํ™”๋ฉด์„ ์ง€์šฐ๊ณ  ๋ฉ”๋‰ด๋ฅผ ํ‘œ์‹œ
์‹œ๊ฐ„์  ์‘์ง‘๋„ (Temporal Cohesion) ์—ฐ๊ด€๋œ ๊ธฐ๋Šฅ์ด๋ผ๊ธฐ๋ณด๋‹ค๋Š” ํŠน์ • ์‹œ๊ฐ„์— ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•˜๋Š” ํ™œ๋™๋“ค์„ ํ•œ ๋ชจ๋“ˆ์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.
์˜ˆ) ์ดˆ๊ธฐ์น˜ ์„ค์ •, ์ข…๋ฃŒ ์ฒ˜๋ฆฌ ๋“ฑ
๋…ผ๋ฆฌ์  ์‘์ง‘๋„ (Logical Cohesion) ์œ ์‚ฌํ•œ ์„ฑ๊ฒฉ์„ ๊ฐ–๊ฑฐ๋‚˜ ํŠน์ • ํ˜•ํƒœ๋กœ ๋ถ„๋ฅ˜๋˜๋Š” ์ฒ˜๋ฆฌ ์š”์†Œ๋“ค์ด ํ•œ ๋ชจ๋“ˆ์— ์„œ ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.
์˜ˆ) ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ: ์žํŒ๊ธฐ์˜ ์ž”์•ก ๋ถ€์กฑ, ์Œ๋ฃŒ์ˆ˜ ๋ถ€์กฑ
์ถœ๋ ฅ ์ฒ˜๋ฆฌ: ์ง์› ์ธ์‚ฌ ์ •๋ณด ์ถœ๋ ฅ, ํšŒ๊ณ„ ์ •๋ณด ์ถœ๋ ฅ
์šฐ์—ฐ์  ์‘์ง‘๋„ (Coincidental Cohesion) ๋ชจ๋“ˆ ๋‚ด๋ถ€์˜ ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์ด ์—ฐ๊ด€์ด ์—†์„ ๊ฒฝ์šฐ์ด๋‹ค.
๋ชจ๋“ˆํ™” ์žฅ์ ์ด ์—†๋‹ค. ์œ ์ง€ ๋ณด์ˆ˜ ์ž‘์—…์ด ์–ด๋ ต๋‹ค.

 

-> ๋ชจ๋“ˆ ๋‚ด๋ถ€์˜ ๊ธฐ๋Šฅ๋“ค์ด ์–ด๋– ํ•œ ์ด์œ ๋กœ, ์–ด๋– ํ•œ ์œ ํ˜•์œผ๋กœ ์‘์ง‘๋˜์–ด ์žˆ๋Š”์ง€ 7๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

-> ์œ„์—์„œ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ์ด ๋‚ฎ์€ ์‘์ง‘๋„์ž…๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ์  ์‘์ง‘๋„๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ํ’ˆ์งˆ์„ ๋ณด์ž…๋‹ˆ๋‹ค.

 

์‘์ง‘๋„์™€ ํ’ˆ์งˆ

์‘์ง‘๋„์™€ ํ’ˆ์งˆ (์ถœ์ฒ˜:ncs ์„œ๋ฒ„ํ”„๋กœ๊ทธ๋žจ๊ตฌํ˜„ ํ•™์Šต๋ชจ๋“ˆ)

 

-> ์œ„์—์„œ ๋ง์”€๋“œ๋ ธ๋“ฏ์ด ๊ธฐ๋Šฅ์ ์œผ๋กœ ์‘์ง‘๋˜์–ด ์žˆ๋Š” ๋ชจ๋“ˆ์ด ๋†’์€ ํ’ˆ์งˆ์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๋ฐ˜์‘ํ˜•

 


 

์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋“ˆ ๊ฒฐํ•ฉ๋„๋ž€?

๊ฒฐํ•ฉ๋„๋Š” ๋ชจ๋“ˆ๊ณผ ๋ชจ๋“ˆ ๊ฐ„์˜ ๊ด€๋ จ์„ฑ ์ •๋„๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ๊ด€๋ จ์ด ์ ์„์ˆ˜๋ก ๋ชจ๋“ˆ์˜ ๋…๋ฆฝ์„ฑ์ด ๋†’์•„์ ธ ๋ชจ๋“ˆ ๊ฐ„ ์˜ํ–ฅ์ด ์ ์–ด์ง€๊ฒŒ ๋œ๋‹ค.

-> ๊ฒฐํ•ฉ๋„๋Š” ๊ธฐ๋Šฅ์ด ๋ชจ์ธ ๋ชจ๋“ˆ๊ณผ ๋ชจ๋“ˆ ์‚ฌ์ด์˜ ์—ฐ๊ด€์„ฑ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

 

 

๊ฒฐํ•ฉ๋„์˜ ์œ ํ˜•

๊ฒฐํ•ฉ๋„ ์œ ํ˜• ์„ค๋ช…
์ž๋ฃŒ ๊ฒฐํ•ฉ๋„ (Data Coupling) ๋ชจ๋“ˆ ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ „๋‹ฌ๋˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด์„œ๋งŒ ๋ชจ๋“ˆ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์ด ์ผ์–ด๋‚˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.
์˜ˆ) ์ œ๊ณฑ๊ทผ์„ ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜๋กœ ํ•˜๋‚˜์˜ ์ •์ˆ˜๋ฅผ ์ „๋‹ฌ
์Šคํƒฌํ”„ ๊ฒฐํ•ฉ๋„ (Stamp Coupling) ๋ชจ๋“ˆ ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ฐฐ์—ด์ด๋‚˜ ์˜ค๋ธŒ์ ํŠธ(Object), ์ŠคํŠธ๋Ÿญ์ฒ˜(Structur e) ๋“ฑ์ด ์ „๋‹ฌ๋˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.
์ œ์–ด ๊ฒฐํ•ฉ๋„ (Control Coupling) ๋‹จ์ˆœ ์ฒ˜๋ฆฌํ•  ๋Œ€์ƒ์ธ ๊ฐ’๋งŒ ์ „๋‹ฌ๋˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค ๋Š” ์ œ์–ด ์š”์†Œ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.
์™ธ๋ถ€ ๊ฒฐํ•ฉ๋„ (External Coupling) ๋‹ค์ˆ˜์˜ ๋ชจ๋“ˆ์ด ๋ชจ๋“ˆ ๋ฐ–์—์„œ ๋„์ž…๋œ ๋ฐ์ดํ„ฐ, ํ”„๋กœํ† ์ฝœ, ์ธํ„ฐํŽ˜์ด์Šค ๋“ฑ์„ ๊ณต์œ ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.
๊ณตํ†ต ๊ฒฐํ•ฉ๋„ (Common Coupling) ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์•„๋‹Œ ๋ชจ๋“ˆ ๋ฐ–์— ์„ ์–ธ๋˜์–ด ์žˆ๋Š” ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ๊ฐฑ์‹ ํ•˜๋Š” ์‹์œผ๋กœ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.
์˜ˆ) ์ „์—ญ ๋ณ€์ˆ˜
๋‚ด์šฉ ๊ฒฐํ•ฉ๋„ (Content Coupling) ๋‹ค๋ฅธ ๋ชจ๋“ˆ ๋‚ด๋ถ€์— ์žˆ๋Š” ๋ณ€์ˆ˜๋‚˜ ๊ธฐ๋Šฅ์„ ๋‹ค๋ฅธ ๋ชจ๋“ˆ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.

 

-> ๋ชจ๋“ˆ๋“ค์ด ๋‚ด์šฉ์ ์œผ๋กœ ๊ฒฐํ•ฉ๋˜์–ด ์žˆ์„์ˆ˜๋ก ๋‚ฎ์€ ํ’ˆ์งˆ์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

-> ๋ชจ๋“ˆ๋“ค์ด ํŒŒ๋ผ๋ฉ”ํ„ฐ(๋ณ€์ˆ˜)๋กœ๋งŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์„ ๋•Œ ๋†’์€ ํ’ˆ์งˆ์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 

๊ฒฐํ•ฉ๋„์™€ ํ’ˆ์งˆ

๋ชฉํ‘œ ์‹œ์Šคํ…œ์˜ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋ชจ๋“ˆ ๊ตฌ์„ฑ์˜ ๊ฒฐํ•ฉ ์ •๋„๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ํ’ˆ์งˆ ์ธก๋ฉด์—์„œ ๊ฒฐํ•ฉ๋„์˜ ์œ ํ˜• ์ค‘ ์ž๋ฃŒ ๊ฒฐํ•ฉ๋„์˜ ํ’ˆ์งˆ์ด ๊ฐ€์žฅ ๋†’๊ณ , ๋‚ด์šฉ ๊ฒฐํ•ฉ๋„์˜ ํ’ˆ์งˆ์ด ๊ฐ€์žฅ ๋‚ฎ๋‹ค.

๊ฒฐํ•ฉ๋„์™€ ํ’ˆ์งˆ(์ถœ์ฒ˜:ncs ์„œ๋ฒ„ํ”„๋กœ๊ทธ๋žจ๊ตฌํ˜„ ํ•™์Šต๋ชจ๋“ˆ)

 

 


 

์˜ค๋Š˜์€ ์ด์™€๊ฐ™์ด ์‘์ง‘๋„์™€ ๊ฒฐํ•ฉ๋„์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์ปดํ“จํŒ…์  ์‚ฌ๊ณ ์— ํ•„์ˆ˜์ ์ธ ์‘์ง‘๋„์™€ ๊ฒฐํ•ฉ๋„!

์‘์ง‘๋„๋Š” ๋†’์ด๊ณ , ๊ฒฐํ•ฉ๋„๋Š” ๋‚ฎ์ถ”๋ฉฐ ํ”„๋กœ๊ทธ๋žจ์„ ์งค ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋„๋ก ํ•ญ์ƒ ๊ณ ๋ฏผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

 

์‘์ง‘๋„, ๊ฒฐํ•ฉ๋„, ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ, ์‘์ง‘๋„๋ž€, ๊ฒฐํ•ฉ๋„๋ž€, ์‘์ง‘๋„์˜ ์ •์˜, ์‘์ง‘๋„์˜ ์œ ํ˜•, ์‘์ง‘๋„ ์„ค๋ช…, ๊ฒฐํ•ฉ๋„์˜ ์ •์˜, ๊ฒฐํ•ฉ๋„์˜ ์œ ํ˜•

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€