μ’
μ νλͺ© μ½μ
(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λ ν΄λμ€κ° μ§μ μ’
μ νλͺ©μ μμ±νλ κ²μ΄ μλλΌ μΈλΆμμ μ 곡λ°λ λ°©μμ΄λ€. μ¦, ..
'Di' νκ·Έμ κΈ λͺ©λ‘
λ¨μΆν€
λ΄ λΈλ‘κ·Έ
λ΄ λΈλ‘κ·Έ - κ΄λ¦¬μ ν μ ν |
Q
Q
|
μ κΈ μ°κΈ° |
W
W
|
λΈλ‘κ·Έ κ²μκΈ
κΈ μμ (κΆν μλ κ²½μ°) |
E
E
|
λκΈ μμμΌλ‘ μ΄λ |
C
C
|
λͺ¨λ μμ
μ΄ νμ΄μ§μ URL λ³΅μ¬ |
S
S
|
맨 μλ‘ μ΄λ |
T
T
|
ν°μ€ν 리 ν μ΄λ |
H
H
|
λ¨μΆν€ μλ΄ |
Shift + /
β§ + /
|
* λ¨μΆν€λ νκΈ/μλ¬Έ λμλ¬Έμλ‘ μ΄μ© κ°λ₯νλ©°, ν°μ€ν 리 κΈ°λ³Έ λλ©μΈμμλ§ λμν©λλ€.