Arthur's Blog
Coupling์ด๋ ๋ณธ๋ฌธ
๐ ์ ์
์๋ก ์ํธ์์ฉํ๋ ์์คํ ๋ค๊ฐ์ ์์กด์ฑ.
์์กด์ฑ์ ์ค์ง์ ์์กด์ฑ๊ณผ ์ธ์์ ์์กด์ฑ์ผ๋ก ๋๋ ์ ์๋ค.
์ค์ง์ ์์กด์ฑ
ํ ์์คํ ์ด ์๋นํ๋ ๋ค๋ฅธ ์์คํ ์ด ๊ธฐ๋ฅ์ด๋ ์๋น์ค์ ์งํฉ.
์ธ์์ ์์กด์ฑ
ํ ์์คํ ์ด ๋ค๋ฅธ ์์คํ ์ด ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ด๋ ์๋น์ค๋ฅผ ์๋นํ๊ธฐ ์ํด ํ์ํ ์ฌ๋ฌ ์์๋ค์ ์งํฉ.
์ธ์ ๋ ์กด์ฌํ์ง๋ง ๊ทธ ๋น์ฉ์ ์ถฉ๋ถํ ๊ฐ์๋ ์ ์์ผ๋ฉฐ Loose Coupling์ ์ธ์์ ์์กด์ฑ์ ์ต์ํ์ผ๋ก ์ค์ด๋ ๊ตฌ์กฐ๋ฅผ ์๋ฏธํ๋ค.
- ์ธ์ด์ ์์กด์ฑ
- ํ๋ซํผ ์์กด์ฑ
- API ์์กด์ฑ
๐ ๊ธด๋ฐํ ๊ฒฐํฉ(Tight Coupling)
๊ฐํ๊ฒ ๊ฒฐํฉ๋ ๊ฐ์ฒด(Tightly Coupled Object Object)๋ ๋ค๋ฅธ ์ค๋ธ์ ํธ์ ๋ํ ์๋นํ ๋ง์ ์ ๋ณด๋ฅผ ํ์๋ก ํ๊ณ , ๋ณดํต ๋ ๊ฐ์ฒด๊ฐ์ ์ธํฐํ์ด์ค๋ค์๊ฒ ์๋ก ๋์ ์์กด์ฑ์ ๊ฐ์ง๊ณ ์๋ค. ๊ธด๋ฐํ๊ฒ ๊ฒฐํฉ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ํ๋์ ๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋ง์ ๋ค๋ฅธ ๊ฐ์ฒด๋ค์ ๋ณ๊ฒฝ์ ์๊ตฌํ๋ค.
๐ ๋์จํ ๊ฒฐํฉ(Loose Coupling)
๋์จํ ๊ฒฐํฉ์ ํ๋์ ์ปดํฌ๋ํธ์ ๋ณ๊ฒฝ์ด ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ค์ ๋ณ๊ฒฝ์ ์๊ตฌํ๋ ์ํ์ ์ค์ด๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ํ๋ ์์คํ ์์ ์ปดํฌ๋ํธ ๊ฐ์ ๋ด๋ถ ์์กด์ฑ์ ์ค์ด๋ ๊ฒ์ ์ถ๊ตฌํ๋ ๋์์ธ ๋ชฉํ์ด๋ค.
Loose Coupling์ ๊ฐ๋ ฅํจ
๋ ๊ฐ์ฒด๊ฐ ๋์จํ๊ฒ ๊ฒฐํฉ๋์ด ์๋ค๋ ๊ฒ์, ๊ทธ ๋์ด ์ํธ์์ฉ์ ํ๊ธด ํ์ง๋ง ์๋ก์ ๋ํด์ ์๋ก ์ ๋ชจ๋ฅธ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
'OOP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DI(Dependency Injection)๋? (0) | 2023.07.01 |
---|---|
DI vs IoC vs DIP (0) | 2023.07.01 |
์๋น์ค ๋ก์ผ์ดํฐ(SL)๋? (0) | 2023.07.01 |
๋์ ์์ง๋์ ๋ฎ์ ๊ฒฐํฉ๋ (0) | 2023.06.28 |
๊ฐ์ฒด์งํฅ 5๋ ์์น (0) | 2023.06.26 |