OOP

Couplingμ΄λž€

Leeseojune53 2023. 7. 1. 18:32

πŸ“Œ μ •μ˜

μ„œλ‘œ μƒν˜Έμž‘μš©ν•˜λŠ” μ‹œμŠ€ν…œλ“€κ°„μ˜ μ˜μ‘΄μ„±.

μ˜μ‘΄μ„±μ€ μ‹€μ§ˆμ  μ˜μ‘΄μ„±κ³Ό μΈμœ„μ  μ˜μ‘΄μ„±μœΌλ‘œ λ‚˜λ‰  수 μžˆλ‹€.

싀직적 μ˜μ‘΄μ„±

ν•œ μ‹œμŠ€ν…œμ΄ μ†ŒλΉ„ν•˜λŠ” λ‹€λ₯Έ μ‹œμŠ€ν…œμ΄ κΈ°λŠ₯μ΄λ‚˜ μ„œλΉ„μŠ€μ˜ μ§‘ν•©.

μΈμœ„μ  μ˜μ‘΄μ„±

ν•œ μ‹œμŠ€ν…œμ΄ λ‹€λ₯Έ μ‹œμŠ€ν…œμ΄ μ œκ³΅ν•˜λŠ” κΈ°λŠ₯μ΄λ‚˜ μ„œλΉ„μŠ€λ₯Ό μ†ŒλΉ„ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ μ—¬λŸ¬ μš”μ†Œλ“€μ˜ μ§‘ν•©.

μ–Έμ œλ‚˜ μ‘΄μž¬ν•˜μ§€λ§Œ κ·Έ λΉ„μš©μ€ μΆ©λΆ„νžˆ κ°μ†Œλ  수 있으며 Loose Coupling은 μΈμœ„μ  μ˜μ‘΄μ„±μ„ μ΅œμ†Œν•œμœΌλ‘œ μ€„μ΄λŠ” ꡬ쑰λ₯Ό μ˜λ―Έν•œλ‹€.

  • 언어적 μ˜μ‘΄μ„±
  • ν”Œλž«νΌ μ˜μ‘΄μ„±
  • API μ˜μ‘΄μ„±

πŸ”— κΈ΄λ°€ν•œ κ²°ν•©(Tight Coupling)

κ°•ν•˜κ²Œ κ²°ν•©λœ 객체(Tightly Coupled Object Object)λŠ” λ‹€λ₯Έ μ˜€λΈŒμ νŠΈμ— λŒ€ν•œ μƒλ‹Ήνžˆ λ§Žμ€ 정보λ₯Ό ν•„μš”λ‘œ ν•˜κ³ , 보톡 두 κ°μ²΄κ°„μ˜ μΈν„°νŽ˜μ΄μŠ€λ“€μ—κ²Œ μ„œλ‘œ 높은 μ˜μ‘΄μ„±μ„ κ°€μ§€κ³  μžˆλ‹€. κΈ΄λ°€ν•˜κ²Œ κ²°ν•©λœ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ ν•˜λ‚˜μ˜ 객체λ₯Ό λ³€κ²½ν•˜λŠ” 것은 λ§Žμ€ λ‹€λ₯Έ κ°μ²΄λ“€μ˜ 변경을 μš”κ΅¬ν•œλ‹€.

πŸ”“ λŠμŠ¨ν•œ κ²°ν•©(Loose Coupling)

λŠμŠ¨ν•œ 결합은 ν•˜λ‚˜μ˜ μ»΄ν¬λ„ŒνŠΈμ˜ 변경이 λ‹€λ₯Έ μ»΄ν¬λ„ŒνŠΈλ“€μ˜ 변경을 μš”κ΅¬ν•˜λŠ” μœ„ν—˜μ„ μ€„μ΄λŠ” 것을 λͺ©μ μœΌλ‘œ ν•˜λŠ” μ‹œμŠ€ν…œμ—μ„œ μ»΄ν¬λ„ŒνŠΈ κ°„μ˜ λ‚΄λΆ€ μ˜μ‘΄μ„±μ„ μ€„μ΄λŠ” 것을 μΆ”κ΅¬ν•˜λŠ” λ””μžμΈ λͺ©ν‘œμ΄λ‹€.

Loose Coupling의 κ°•λ ₯함

두 객체가 λŠμŠ¨ν•˜κ²Œ κ²°ν•©λ˜μ–΄ μžˆλ‹€λŠ” 것은, κ·Έ λ‘˜μ΄ μƒν˜Έμž‘μš©μ„ ν•˜κΈ΄ ν•˜μ§€λ§Œ μ„œλ‘œμ— λŒ€ν•΄μ„œ μ„œλ‘œ 잘 λͺ¨λ₯Έλ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€.