Di

쒅속 ν•­λͺ© μ‚½μž…(DI)μ΄λž€?쒅속 ν•­λͺ© μ‚½μž…(Dependency Injection, DI)은 μ†Œν”„νŠΈμ›¨μ–΄ κ°œλ°œμ—μ„œ 널리 μ‚¬μš©λ˜λŠ” κ°œλ…μœΌλ‘œ, Android μ•± κ°œλ°œμ—μ„œλ„ μ€‘μš”ν•œ 역할을 ν•œλ‹€. DIλ₯Ό ν™œμš©ν•˜λ©΄ μ½”λ“œμ˜ μž¬μ‚¬μš©μ„±μ„ 높이고, λ¦¬νŒ©ν„°λ§μ„ μš©μ΄ν•˜κ²Œ ν•˜λ©°, ν…ŒμŠ€νŠΈλ₯Ό μ‰½κ²Œ λ§Œλ“€ 수 μžˆλ‹€. 특히, Android μ•± κ°œλ°œμ—μ„œλŠ” DIλ₯Ό μ˜¬λ°”λ₯΄κ²Œ ν™œμš©ν•˜λ©΄ μ•± μ•„ν‚€ν…μ²˜λ₯Ό λ”μš± νƒ„νƒ„ν•˜κ²Œ ꡬ좕할 수 μžˆλ‹€. μ’…속 ν•­λͺ© μ‚½μž…μ˜ ν•„μš”μ„±μΌλ°˜μ μœΌλ‘œ ν΄λž˜μŠ€λŠ” λ‹€λ₯Έ 클래슀의 μΈμŠ€ν„΄μŠ€λ₯Ό ν•„μš”λ‘œ ν•œλ‹€. 예λ₯Ό λ“€μ–΄, μžλ™μ°¨(Car) ν΄λž˜μŠ€κ°€ 엔진(Engine) 클래슀의 μΈμŠ€ν„΄μŠ€λ₯Ό ν•„μš”λ‘œ ν•œλ‹€κ³  κ°€μ •ν•΄ 보겠닀.1. 쒅속 ν•­λͺ©μ„ 직접 μƒμ„±ν•˜λŠ” 경우 (DI λ―Έμ‚¬μš©)class Car { private val engine = Engine()..
μ•ˆλ“œλ‘œμ΄λ“œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°œλ°œμ—μ„œ 클래슀 κ°„μ˜ 쒅속성을 효과적으둜 κ΄€λ¦¬ν•˜λŠ” 것은 μœ μ§€λ³΄μˆ˜μ„±κ³Ό ν™•μž₯성을 λ†’μ΄λŠ” 데 맀우 μ€‘μš”ν•˜λ‹€. λ³Έ κΈ€μ—μ„œλŠ” 쒅속 ν•­λͺ© κ΄€λ¦¬μ˜ κ°œλ…κ³Ό DI(Dependency Injection) νŒ¨ν„΄ 적용 방법을 μ‚΄νŽ΄λ³΄κ³ , Hiltλ₯Ό μ‚¬μš©ν•˜μ—¬ 이λ₯Ό κ΅¬ν˜„ν•˜λŠ” 방법을 μ„€λͺ…ν•œλ‹€. μ’…속 ν•­λͺ© κ΄€λ¦¬λž€?μ•±μ˜ ν΄λž˜μŠ€λ“€μ€ μ›ν™œν•œ λ™μž‘μ„ μœ„ν•΄ λ‹€λ₯Έ 클래슀의 κΈ°λŠ₯을 ν•„μš”λ‘œ ν•œλ‹€. μ΄λŸ¬ν•œ 쒅속 ν•­λͺ©μ„ 효율적으둜 κ΄€λ¦¬ν•˜μ§€ μ•ŠμœΌλ©΄ μ½”λ“œκ°€ λ³΅μž‘ν•΄μ§€κ³  μœ μ§€λ³΄μˆ˜κ°€ μ–΄λ €μ›Œμ§ˆ 수 μžˆλ‹€. 쒅속 ν•­λͺ©μ„ 효과적으둜 μˆ˜μ§‘ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” λŒ€ν‘œμ μΈ λ°©λ²•μœΌλ‘œλŠ” λ‹€μŒ 두 가지가 μžˆλ‹€.1. 쒅속 ν•­λͺ© μ£Όμž…(Dependency Injection, DI)DIλŠ” ν΄λž˜μŠ€κ°€ 직접 쒅속 ν•­λͺ©μ„ μƒμ„±ν•˜λŠ” 것이 μ•„λ‹ˆλΌ μ™ΈλΆ€μ—μ„œ μ œκ³΅λ°›λŠ” 방식이닀. 즉, ..