๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿค2024 ์•ˆ๋“œ๋กœ์ด๋“œ/๐Ÿฟ ์˜ํ™” ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ ์ผ์ง€

[hilt 2ํƒ„] hilt ๋ฅผ ์‚ฌ์šฉํ•œ ์ข…์† ํ•ญ๋ชฉ ์‚ฝ์ž…

by hyeonha 2024. 2. 10.

๋ชฉ์ฐจ

    1๏ธโƒฃHilt Application class

    - Application ๋ž€?

    ๋”๋ณด๊ธฐ

    ์ „์—ญ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ฒ ์ด์Šค๊ฐ€ ๋˜๋Š” ํด๋ž˜์Šค๋ฅผ ๋งํ•œ๋‹ค.

    ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ application์€ ๋ชจ๋“  ์•กํ‹ฐ๋น„ํ‹ฐ๋‚˜ ์„œ๋น„์Šค์™€ ๊ฐ™์€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ๋‚ด์—์„œ ๊ธฐ๋ณธํด๋ž˜์Šค์ด๋‹ค. 

    Application ํด๋ž˜์Šค ๋˜๋Š” Application ํด๋ž˜์Šค์˜ ํ•˜์œ„ ํด๋ž˜์ˆ˜๋Š” ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ณด๋‹ค ๋จผ์ € ์ธ์Šคํ„ด์Šคํ™”๋œ๋‹ค

    Hilt๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์•ฑ์€ @HiltAndroidApp์œผ๋กœ ์ฃผ์„์ด ์ง€์ •๋œ Application ํด๋ž˜์Šค๋ฅผ ํฌํ•จํ•ด์•ผํ•œ๋‹ค.

    1. ์ด ์–ด๋…ธํ…Œ์ด์…˜์„ Application์— ์ ์šฉํ•˜๋ฉด ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ Hilt์—์„œ ์‚ฌ์šฉํ•˜๋Š” Application์˜ ๊ธฐ๋ณธ ํด๋ž˜์Šค ์—ญํ• ์„ ํ•˜๊ฒŒ ๋œ๋‹ค.

    2. Application ํด๋ž˜์Šค๋Š” ์˜์กด์„ฑ ์ฃผ์ž…์„ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•œ๋‹ค.

     

    ์ƒ์„ฑ๋œ ์ด Hilt ๊ตฌ์„ฑ ์š”์†Œ๋Š” Application ๊ฐ์ฒด์˜ ์ˆ˜๋ช… ์ฃผ๊ธฐ์— ์—ฐ๊ฒฐ๋˜๋ฉฐ ๊ด€๋ จํ•œ ์ข…์†ํ•ญ๋ชฉ์„ ์ œ๊ณตํ•œ๋‹ค.

    ๋˜ํ•œ ์ด Hilt ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์•ฑ์˜ ์ƒ์œ„ ๊ตฌ์„ฑ์š”์†Œ์ด๋ฏ€๋กœ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์ด Application์—์„œ ์ œ๊ณตํ•˜๋Š” ์ข…์† ํ•ญ๋ชฉ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    - ์ปจํ…Œ์ด๋„ˆ๋ž€?

    ๋”๋ณด๊ธฐ

    ์ปจํ…Œ์ด๋„ˆ๋Š” ๋‹ค๋ฅธ ๊ฐ์ฒด๋“ค์„ ๋‹ด๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ๋งํ•œ๋‹ค. 

     

    ์ปจํ…Œ์ด๋„ˆ์—๋Š” ์—ฌ๋Ÿฌ ์œ ํ˜•์ด ์žˆ๋Š”๋ฐ ์˜์กด์„ฑ ์ฃผ์ž… ์ปจํ…Œ์ด๋„ˆ๋Š” ๊ฐ์ฒด ๊ฐ„์˜ ์˜์กด์„ฑ์„ ์ฃผ์ž…ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

     

    ์šฐ๋ฆฌ ์ฝ”๋“œ ์‚ดํŽด๋ณด๊ธฐ

    @HiltAndroidApp
    class App : Application() {

     

    2๏ธโƒฃAndroid ํด๋ž˜์Šค์— ์ข…์† ํ•ญ๋ชฉ ์‚ฝ์ž…

    Application ํด๋ž˜์Šค์— Hilt๋ฅผ ์„ค์ •ํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋ฉด

    -> Hilt๋Š” @AndroidEntryPoint ์ฃผ์„์ด ์žˆ๋Š” ๋‹ค๋ฅธ Android ํด๋ž˜์Šค์— ์ข…์† ํ•ญ๋ชฉ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ์š”์†Œ

    ๋”๋ณด๊ธฐ

    ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ์š”์†Œ๋ž€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์ฒด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์„ค์ •์„ ํฌํ•จํ•œ๋‹ค. 

     

    1. Application ํด๋ž˜์Šค : ์•ˆ๋“œ๋กœ์ด๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ง„์ž…์ ์ด๋ฉฐ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „๋ฐ˜์—์„œ ๊ณต์œ ๋˜๋Š” ์„ค์ •์ด๋‚˜ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.

     

    2. Application ๋ชจ๋“ˆ : ์˜์กด์„ฑ ์ฃผ์ž…์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฐ์ฒด๋“ค์„ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ชจ๋“ˆ์ด๋‹ค. ๋„คํŠธ์›Œํฌ ๋ชจ๋“ˆ์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋“ˆ ..

     

    3. Application ์ปดํฌ๋„ŒํŠธ : ์˜์กด์„ฑ ์ฃผ์ž…์„ ๊ด€๋ฆฌํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์ฒด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์˜์กด์„ฑ์„ ์ฃผ์ž…ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. 

     

     

    ์ฝ”๋“œ 

    @AndroidEntryPoint
    class MenuDusplayActivity : AppCompatActivity() {
    
      @Inject lateinit var breakfastProvider : BreakfastMenuDataProvider
      ...
    }

     

    Android ํด๋ž˜์Šค์— @AndroidEntryPoint๋กœ ์ฃผ์„์„ ์ง€์ •ํ•˜๋ฉด ์ด ํด๋ž˜์Šค์— ์ข…์†๋œ Android ํด๋ž˜์Šค์—๋„ ์ฃผ์„์„ ์ง€์ •ํ•ด์•ผํ•œ๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด ํ”„๋ž˜๊ทธ๋จผํŠธ์— ์ฃผ์„์„ ์ง€์ •ํ•œ๋‹ค๋ฉด ์ด ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ™œ๋™์—๋„ ์ฃผ์„์„ ์ง€์ •ํ•ด์•ผํ•œ๋‹ค.

     

    @AndroidEntryPoint๋Š” ํ”„๋กœ์ ํŠธ์˜ ๊ฐ Android ํด๋ž˜์Šค์— ๊ด€ํ•œ ๊ฐœ๋ณ„ Hilt ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

    ์ด๋Ÿฌํ•œ ๊ฐœ๋ณ„ Hilt ๊ตฌ์„ฑ์š”์†Œ๋Š” ํ•ด๋‹นํ•˜๋Š” ๊ฐ ์ƒ์œ„ ํด๋ž˜์Šค์—์„œ ์ข…์† ํ•ญ๋ชฉ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

     

    @ AndroidEntryPoint ์€ ๊ฐ๊ฐ์˜ Android ํด๋ž˜์Šค์— ๋Œ€ํ•ด Hilt ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค.

    ์ฆ‰ ๊ฐ Android ํด๋ž˜์Šค๊ฐ€ Hilt์˜ ์˜์กด์„ฑ ์ฃผ์ž… ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค!

     

    - ๊ตฌ์„ฑ์š”์†Œ๋ž€ ์˜์กด์„ฑ ์ฃผ์ž…์„ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•œ๋‹ค. Dagger๋Š” ์˜์กด์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๊ฐ์ฒด์™€ ์ด๋ฅผ ์š”์ฒญ๋ฐ›๋Š” ๊ฐ์ฒด ์‚ฌ์ด๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

     

    - Hilt ์ปดํฌ๋„ŒํŠธ ๊ณ„์ธต ๊ตฌ์กฐ : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€์˜ ์ปดํฌ๋„ŒํŠธ์™€ ์•กํ‹ฐ๋น„ํ‹ฐ, ํ”„๋ž˜๊ทธ๋จผํŠธ, ์„œ๋น„์Šค ๋“ฑ์˜ Android ๊ตฌ์„ฑ ์š”์†Œ๋งˆ๋‹ค ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ๊ฐ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋Š” ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ข…์†ํ•ญ๋ชฉ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

     

    ์ฆ‰ AndroidEntryPoint๋ฅผ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์ด ํด๋ž˜์Šค๋Š”  Hilt์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋กœ ๊ฐ„์ฃผ๋˜๊ณ  ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ํ•„์š”ํ•œ ๊ฐ์ฒด๋ฅผ ์ง์ ‘ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์˜์กด์„ฑ ์ฃผ์ž…์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    AndroidEntryPoint์–ด๋…ธํ…Œ์ด์…˜์ด ์ ์šฉ๋œ ์•กํ‹ฐ๋น„ํ‹ฐ๋‚˜ ํ”„๋ž˜๊ทธ๋จผํŠธ์— ํ•„๋“œ๋กœ ์„ ์–ธ๋œ ๊ฐ์ฒด์— Inject ์–ด๋…ธํ…Œ์ด์…˜์ด ์žˆ๋‹ค๋ฉด Hilt๋Š” ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ํ•„์š”ํ•œ ์˜์กด์„ฑ์„ ์ฃผ์ž…ํ•ด์ค€๋‹ค!

    ์ฆ‰ ์ง€๊ธˆ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ๊ทธ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    3๏ธโƒฃHilt binding (๊ฒฐํ•ฉ) ์ •์˜ : Hilt๊ฐ€ ํ•„์š”ํ•œ ์ข…์†ํ•ญ๋ชฉ์„ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ• 

    ํ•„๋“œ ์‚ฝ์ž…์ด๋ž€ ๊ฐ์ฒด์˜ ํ•„๋“œ์— ์˜์กด์„ฑ์„ ์ฃผ์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•œ๋‹ค.

    - ํด๋ž˜์Šค์—์„œ ํ•„๋“œ๋ž€ ํด๋ž˜์Šค์— ํฌํ•จ๋œ ๋ณ€์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค!

     

    binding ๊ฒฐํ•ฉ์€ ํŠน์ • ์œ ํ˜•์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ข…์†ํ•ญ๋ชฉ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•œ๋‹ค.

     

    ์ƒ์„ฑ์ž ์‚ฝ์ž…

    : ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž์—์„œ @Inject ์ฃผ์„์„ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ Hilt์—๊ฒŒ ์•Œ๋ฆฐ๋‹ค.

    class MenuDisplayActivity @Inject constructor(
    	private val breakfastProvider : BreakfastProvider
      )
      { ... }

     

    4๏ธโƒฃHilt ๋ชจ๋“ˆ

    ์ƒ์„ฑ์ž ์‚ฝ์ž…์„ ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. 

    1. ์ธํ„ฐํŽ˜์ด์Šค

    2. ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํด๋ž˜์Šค

    ์ด๋Ÿฐ ๊ฒฝ์šฐ Hilt ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ Hilt์— ๋ฐ”์ธ๋”ฉ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    Hilt ๋ชจ๋“ˆ์€ @Module๋กœ ์ฃผ์„์ด ์ง€์ •๋œ ํด๋ž˜์Šค์ด๋‹ค.

    Hilt ๋ชจ๋“ˆ์— @InstallIn ์ฃผ์„์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์„œใ„น์น˜ํ•œ Android ํด๋ž˜์Šค๋ฅผ Hilt์— ์•Œ๋ ค์•ผํ•œ๋‹ค.

    Hilt ๋ชจ๋“ˆ์— ์ œ๊ณตํ•˜๋Š” ์ข…์† ํ•ญ๋ชฉ์€ Hilt ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•˜๋Š” Android ํด๋ž˜์Šค์™€ ์—ฐ๊ฒฐ๋œ๋‹ค.

     

    ์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์ดํ•ดํ•ด๋ณด์ž!!!

    Menu๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” Class์™€ ๊ทธ ํด๋ž˜์Šค์— ์•„์นจ ๋ฉ”๋‰ด๋ฅผ ์ „๋‹ฌํ•ด์ฃผ๋Š” Breakfast ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž.

    class Menu {
    
    }
    
    class BreakfastProvider {
    
    	fun provideBreakfast() :String {
        
         	return "๊ณ„๋ž€ ํ›„๋ผ์ด์™€ ํ† ์ŠคํŠธ"
        
        }

     

    5๏ธโƒฃ@Binds๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ธ์Šคํ„ด์Šค ์‚ฝ์ž…

    ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ƒ์„ฑ์ž ์‚ฝ์ž…์„ ํ•  ์ˆ˜ ์—†๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š” @Binds๋กœ ์ฃผ์„์ด ์ง€์ •๋œ ์ถ”์ƒํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ”์ธ๋“œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    @Binds ์ฃผ์„์€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ œ๊ณตํ•ด์•ผํ•  ๋•Œ ์‚ฌ์šฉํ•  ๊ตฌํ˜„์„ Hilt์— ์•Œ๋ ค์ค€๋‹ค.

    1. ํ•จ์ˆ˜ ๋ฐ˜ํ™˜ ์œ ํ˜•์€ ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ค ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š”์ง€ Hilt์— ์•Œ๋ ค์ค€๋‹ค.

    2. ํ•จ์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์ œ๊ณตํ•  ๊ตฌํ˜„์„ Hilt์— ์•Œ๋ ค์ค€๋‹ค.

     

    @interfact MealService{
    	fun getMealMethods()
        
    }
    
    class MealServiceImpl @Inject constructor(
    ...
    ) : MealService {...}
    
    @Binds
    abstract fun bindMealService(
    	mealSerivceImpl : MealServiceImpl // ์ œ๊ณตํ•  ๊ตฌํ˜„์„ Hilt์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค.
    ) : MealService // ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ค ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š”์ง€ Hilt์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค.

     

     

     

    6๏ธโƒฃ@Provides๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค ์‚ฝ์ž…

    ํด๋ž˜์Šค๊ฐ€ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ œ๊ณต๋˜๊ธฐ ๋•Œ๋ฌธ์— ํด๋ž˜์Šค๋ฅผ ์†Œ์œ ํ•˜์ง€ ์•Š์€ Retrofit์ด๋‚˜ OkHttpClient ๋˜๋Š” ๋นŒ๋” ํŒจํ„ด์œผ๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ƒ์„ฑ์ž ์‚ฝ์ž…์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

     

    1. ํ•จ์ˆ˜ ๋ฐ˜ํ™˜ ์œ ํ˜• : ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ค ์œ ํ˜•์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š”์ง€ Hilt์— ์•Œ๋ ค์ค€๋‹ค.

    2. ํ•จ์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜ : ํ•ด๋‹น ์œ ํ˜•์˜ ์ข…์† ํ•ญ๋ชฉ์„ Hilt์— ์•Œ๋ ค์ค€๋‹ค.

    3. ํ•จ์ˆ˜ ๋ณธ๋ฌธ: ํ•ด๋‹น ์œ ํ˜•์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ• Hilt์— ์•Œ๋ ค์ค€๋‹ค.

     

     

    728x90