Arthur's Blog

Coupling์ด๋ž€ ๋ณธ๋ฌธ

OOP

Coupling์ด๋ž€

Leeseojune53 2023. 7. 1. 18:32

๐Ÿ“Œ ์ •์˜

์„œ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์‹œ์Šคํ…œ๋“ค๊ฐ„์˜ ์˜์กด์„ฑ.

์˜์กด์„ฑ์€ ์‹ค์งˆ์  ์˜์กด์„ฑ๊ณผ ์ธ์œ„์  ์˜์กด์„ฑ์œผ๋กœ ๋‚˜๋‰  ์ˆ˜ ์žˆ๋‹ค.

์‹ค์ง์  ์˜์กด์„ฑ

ํ•œ ์‹œ์Šคํ…œ์ด ์†Œ๋น„ํ•˜๋Š” ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์ด ๊ธฐ๋Šฅ์ด๋‚˜ ์„œ๋น„์Šค์˜ ์ง‘ํ•ฉ.

์ธ์œ„์  ์˜์กด์„ฑ

ํ•œ ์‹œ์Šคํ…œ์ด ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‚˜ ์„œ๋น„์Šค๋ฅผ ์†Œ๋น„ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์—ฌ๋Ÿฌ ์š”์†Œ๋“ค์˜ ์ง‘ํ•ฉ.

์–ธ์ œ๋‚˜ ์กด์žฌํ•˜์ง€๋งŒ ๊ทธ ๋น„์šฉ์€ ์ถฉ๋ถ„ํžˆ ๊ฐ์†Œ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ Loose Coupling์€ ์ธ์œ„์  ์˜์กด์„ฑ์„ ์ตœ์†Œํ•œ์œผ๋กœ ์ค„์ด๋Š” ๊ตฌ์กฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

  • ์–ธ์–ด์  ์˜์กด์„ฑ
  • ํ”Œ๋žซํผ ์˜์กด์„ฑ
  • API ์˜์กด์„ฑ

๐Ÿ”— ๊ธด๋ฐ€ํ•œ ๊ฒฐํ•ฉ(Tight Coupling)

๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋œ ๊ฐ์ฒด(Tightly Coupled Object Object)๋Š” ๋‹ค๋ฅธ ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•œ ์ƒ๋‹นํžˆ ๋งŽ์€ ์ •๋ณด๋ฅผ ํ•„์š”๋กœ ํ•˜๊ณ , ๋ณดํ†ต ๋‘ ๊ฐ์ฒด๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค๋“ค์—๊ฒŒ ์„œ๋กœ ๋†’์€ ์˜์กด์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ธด๋ฐ€ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ๋งŽ์€ ๋‹ค๋ฅธ ๊ฐ์ฒด๋“ค์˜ ๋ณ€๊ฒฝ์„ ์š”๊ตฌํ•œ๋‹ค.

๐Ÿ”“ ๋Š์Šจํ•œ ๊ฒฐํ•ฉ(Loose Coupling)

๋Š์Šจํ•œ ๊ฒฐํ•ฉ์€ ํ•˜๋‚˜์˜ ์ปดํฌ๋„ŒํŠธ์˜ ๋ณ€๊ฒฝ์ด ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ๋“ค์˜ ๋ณ€๊ฒฝ์„ ์š”๊ตฌํ•˜๋Š” ์œ„ํ—˜์„ ์ค„์ด๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•˜๋Š” ์‹œ์Šคํ…œ์—์„œ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ๋‚ด๋ถ€ ์˜์กด์„ฑ์„ ์ค„์ด๋Š” ๊ฒƒ์„ ์ถ”๊ตฌํ•˜๋Š” ๋””์ž์ธ ๋ชฉํ‘œ์ด๋‹ค.

Loose Coupling์˜ ๊ฐ•๋ ฅํ•จ

๋‘ ๊ฐ์ฒด๊ฐ€ ๋Š์Šจํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์€, ๊ทธ ๋‘˜์ด ์ƒํ˜ธ์ž‘์šฉ์„ ํ•˜๊ธด ํ•˜์ง€๋งŒ ์„œ๋กœ์— ๋Œ€ํ•ด์„œ ์„œ๋กœ ์ž˜ ๋ชจ๋ฅธ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.