TILπŸ”₯

23.11.08 TIL

KIMHYEYUN 2023. 11. 8. 21:24
λ°˜μ‘ν˜•

μ˜μ‘΄μ„± μ£Όμž… (DI)

μ œμ–΄μ˜ μ—­μ „ 방법 쀑 ν•˜λ‚˜λ‘œ, μ‚¬μš©ν•  객체λ₯Ό 직접 μƒμ„±ν•˜μ§€ μ•Šκ³  μ™ΈλΆ€ μ»¨ν…Œμ΄λ„ˆκ°€ μƒμ„±ν•œ 객체λ₯Ό μ£Όμž…λ°›μ•„ μ‚¬μš©ν•˜λŠ” 방식을 의미

방법

  1. μƒμ„±μž
  2. ν•„λ“œ 객체 μ„ μ–Έ
  3. setter λ©”μ„œλ“œ

μž₯점

  • 클래슀 κ°„μ˜ 결합도 ⬇️ β†’ ν•œ ν΄λž˜μŠ€κ°€ 변경될 경우 λ‹€λ₯Έ ν΄λž˜μŠ€κ°€ 변경될 ν•„μš”μ„± ⬇️
    • λ¦¬νŒ©ν† λ§ 용이
    • νŠΉμ • 클래슀 ν…ŒμŠ€νŠΈ 용이
    • ν™•μž₯에 용이

사싀 DIλŠ” 이해할 수 있고 μ½”λ“œλ‘œλ„ 이해가 κ°€λŠ₯ν•œλ°, "DI에 λŒ€ν•΄μ„œ μ„€λͺ…ν•΄μ£Όμ„Έμš”! λ­”κ°€μš”!" 라고 λ¬ΌμœΌμ‹ λ‹€λ©΄,,,,,
'DIμ΄λŠ”.... μ˜μ‘΄μ„± μ£Όμž…μœΌλ‘œ...... μ™ΈλΆ€μ—μ„œ 객체λ₯Ό μ£Όμž…ν•΄μ£ΌλŠ” κ²ƒμž…λ‹ˆλ‹€....'
라고 λŒ€λ‹΅ν•˜κ²Œ λ˜λŠ” ν¬ν•œν•œ 아이!
κ·Έλž˜μ„œ 사싀 이전에도 μ–΄μ œλ„ μ˜€λŠ˜λ„ DI에 λŒ€ν•΄μ„œ λ§Žμ€ 레퍼런슀λ₯Ό μ°Έκ³ ν•΄μ„œ ν•™μŠ΅ν–ˆλ‹€..

λ©΄μ ‘μ—μ„œλ„ μŠ€ν”„λ§μ„ κ³΅λΆ€ν–ˆλ‹€κ³  ν•˜λ©΄ 거의 많이 μ§ˆλ¬Έν•˜μ‹ λ‹€!
κ·Έλž˜μ„œ

μ˜μ‘΄μ„± μ£Όμž…μ€ ν•„μš”ν•œ 객체λ₯Ό 직접 μƒμ„±ν•˜λŠ” 것이 μ•„λ‹Œ μ™ΈλΆ€λ‘œλΆ€ν„° 객체λ₯Ό λ°›μ•„μ„œ μ‚¬μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.
이λ₯Ό 톡해 κ°μ²΄κ°„μ˜ 결합도λ₯Ό 쀄이고 μ½”λ“œμ˜ μž¬μ‚¬μš©μ„±μ„ 높일 수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜μ‘΄μ„± μ£Όμž…μ€ μƒμ„±μž μ£Όμž…, ν•„λ“œ μ£Όμž…, μ„Έν„° μ£Όμž…μ˜ 3 κ°€μ§€ 방법이 μžˆμŠ΅λ‹ˆλ‹€.
이 쀑 Springμ—μ„œ κ°€μž₯ ꢌμž₯ν•˜λŠ” μ˜μ‘΄μ„± μ£Όμž… 방법은 μƒμ„±μžλ₯Ό ν†΅ν•œ μ£Όμž… λ°©λ²•μž…λ‹ˆλ‹€.
κ·Έ μ΄μœ λŠ” 1. μˆœν™˜ μ°Έμ‘°λ₯Ό λ°©μ§€ 2. λΆˆλ³€μ„±μ„ 가짐 3. ν…ŒμŠ€νŠΈμ— μš©μ΄ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

μ΄λ ‡κ²Œ λ­”κ°€ λ˜‘ λΆ€λŸ¬μ§€κ²Œ 말할 수 있길!

728x90
λ°˜μ‘ν˜•