Hilt 가 도대체 뭘까? (1)

shin_stealer·2024년 8월 17일
0

Hilt는 안드로이드 앱 개발에서 사용하는 의존성 주입(Dependency Injection) 도구입니다. 이제 Hilt가 무엇인지, 왜 사용하는지 쉽게 설명해볼게요.

1. 의존성(Dependency)이란?

우선, 의존성이 무엇인지 알아야 해요. 의존성은 간단히 말해서 어떤 객체(A)가 다른 객체(B)를 필요로 하는 관계를 의미해요.

예를 들어, 게임 캐릭터(A)가 무기(B)를 필요로 한다고 생각해봐요. 무기 없이는 적을 물리칠 수 없죠. 여기서 캐릭터는 무기에 의존(의존성)하고 있는 거예요.

2. 의존성 주입(Dependency Injection)이란?

의존성 주입은 말 그대로, 필요한 것을 외부에서 넣어주는 방식이에요. 게임 캐릭터가 무기가 필요할 때, 캐릭터가 스스로 무기를 찾으러 다니는 게 아니라, 누군가(외부)가 그 무기를 대신 만들어서 캐릭터에게 건네주는 거예요.

이 방식의 장점은 캐릭터(즉, 우리의 코드)가 무기를 어디서 어떻게 만들어야 하는지 알 필요가 없다는 거예요. 그냥 무기를 받기만 하면 되니까, 코드가 더 단순해지고, 수정하거나 테스트할 때도 훨씬 쉬워요.

3. Hilt란?

Hilt는 안드로이드 앱에서 이 의존성 주입을 자동으로 해주는 도구예요.

다시 게임 예를 들어볼게요. 우리가 여러 캐릭터와 무기를 가진 게임을 만들고 있다고 생각해봐요. 각 캐릭터마다 무기를 연결해줘야 하겠죠? 이걸 수작업으로 하나하나 해주는 건 너무 힘들고, 실수할 가능성도 커요.

Hilt는 이런 일을 자동으로 해줘요. 무기를 캐릭터에게 넣어주는 작업을 알아서 해주는 거죠. 그래서 우리는 "이 캐릭터는 무기가 필요해"라고만 말해주면 돼요. 나머지는 Hilt가 다 처리해줘요.

4. 왜 Hilt를 사용하나요?

Hilt를 사용하면 코드가 훨씬 깔끔하고 간단해져요. 또, 앱의 각 부분을 따로따로 테스트하기도 쉬워요. 여러 캐릭터(클래스)와 무기(객체)가 서로 복잡하게 연결되어 있다면, 어느 한 부분이 잘못되어도 전체가 영향을 받을 수 있어요. Hilt를 쓰면 이런 복잡한 관계를 쉽게 관리할 수 있고, 필요한 부분만 따로 테스트할 수 있어요.

또한, Hilt는 구글이 직접 안드로이드 앱 개발을 위해 만든 도구라서, 안드로이드에서 사용하는 여러 기술과도 잘 맞아요. 그래서 많은 개발자들이 Hilt를 사용해요.

요약

의존성: 어떤 객체(A)가 다른 객체(B)를 필요로 하는 관계.
의존성 주입: 필요한 것을 외부에서 대신 만들어서 넣어주는 방식.
Hilt: 의존성 주입을 자동으로 처리해주는 도구.
왜 사용하나요?: 코드를 더 단순하고 관리하기 쉽게 만들어주고, 테스트도 편하게 할 수 있게 해줌.

profile
I am a Blacksmith.

0개의 댓글