@HiltAndroidApp
class App : Application()
hilt의 출발점은 언제나 @HiltAndroidApp annotation 이다.
이 annotation을 android application 클래스에 마킹하고 빌드를 수행하면 기본적인 설정은 끝이다.
빌드 이후에는 SingletonComponent(컨테이너) 자동으로 생성된다. 여러가지 의존성을 추가하는 기법을 사용하여 컴파일 타임에 싱글톤 컴포넌트 의존성을 추가 할수 있는데 생성자 binding, 모듈의 provide annotation을 통한 binding 기법을 사용해 볼 수 있다.
이렇게 컴포넌트에 의존성을 추가하는 기법을 바인딩(binding)이라고 한다.
client는 이렇게 바인딩 된 의존성을 요청할 수 있다.
HiltAndroidApp을 추가 하고 빌드하게 되면 다음과 같이 generated에 파일이 생성 된다.
AndroidEntryPoint Annotation은 반드시 hiltAndroidApp annotaion 이후에 acitivity,fragment,service 등 컴포넌트에 마킹을 할 수가 있다.
Activity에 AndroidEntryPoint 어노테이션을 마킹을 했다면 ActivityRetainedComponent가 생성이 된다.
다음과 같은 class와