·🗡️Hilt
Hilt는 타입으로 의존성을 구분한다.의존성이 Hilt 컴포넌트에 바인딩될때, 의존성을 식별할 수 있는 식별자로 class의 패키지명을 포함하고 있는 canonical name을 식별자로 쓰고있다. 어떤 의존성이 컴포넌트에 바인딩이 되고 바인딩된 의존성을 클라이언트가 컴포넌트에 요청할 때 정확하게 구분하고 수행할 수 있는 이유는 어노테이션이 마킹된 위치에 해당 의존성 타입이 명시되어 있기 때문이다.  그렇다면 동일한 타입이 두 번 바인딩될 경우는 어떻게 될까?Hilt입장에서는 클라이언트가 의존성을 요청할 때 어떤 의존성을 주입을 해야할지 모른다. 컴파일 타입에 object 그래프를 점검하고 중복 바인딩 문제가 있는 경우 컴파일을 중단한다. 그리고 DuplicateBindings 이라는 중복 바인딩 에러가..
·🗡️Hilt
0. Dagger HiltAndroid Framework는 각종 컴포넌트 간 의존성이 상당히 강하다. 클래스간 의존도를 낮추기 위해서는 의존성 주입(Dependency Injection)을 사용할 수 있다. 객체 생성 시 클래스 간 의존성이 생기게 되는데 이 때, 객체의 생성을 클래스 내부에서 하는 것이 아니라 클래스 외부에서 객체를 생성하여 주입시키는 의존성 주입의 디자인 패턴을 이용할 수 있는 것이다.  이전에는 개인이나 회사별로 수동 또는 별도 의존성 주입 솔루션을 직접 만들어 쓰기도 하였다. Java나 Kotlin 진영에서 널리 쓰이고 있는 라이브러리를 쓰기도 했다.  Android Framework는 자바 언어를 지원하는 것부터 시작했기 때문에 Guice를 사용하기도 했고 구글에서 안드로이드 전..
·🗡️Hilt
0. Annotation Hilt는 annotation 기반으로 돌아간다. annotation의 특징은 소스코드를 해치지 않으면서 컴파일러에게 부가정보를 제공하기 위함이다. Hilt annotation을 사용하여 부가정보를 제공컴파일 타임에 의존성 그래프에 이상이 없는지 확인생성된 소스코드를 기반으로 동작하므로 리플렉션을 사용하지 않아도 되어 퍼포먼스가 떨어질 일이 없음1.  코틀린에서의 Hilt Annotation Processingdependencies { implementation 'com.google.dagger:hilt-android:2.48.1' kapt 'com.google.dagger:hilt-compiler:2.48.1'}kapt { correctErrorTypes tr..
안드로보이
'hilt' 태그의 글 목록