728x90 android provides1 [안드로이드] Hilt에서 @Binds와 @Provides의 차이 Hilt 라이브러리를 이용해 의존성을 주입하는 경우에 Module에서 abstract class에는 @Binds 어노테이션이, object에는 @Provides 키워드가 붙게 되는데 어떤 이유에서인지 알아보겠습니다. @Binds? @Provides? 결론부터 말하자면 @Binds와 @Provides의 가장 큰 차이는 어떤 인스턴스를 제공하느냐 입니다. @Binds 어노테이션은 인터페이스 인스턴스, @Provides 어노테이션은 클래스 인스턴스를 제공합니다. @Binds @Binds는 Hilt에게 인터페이스 인스턴스를 제공하기 때문에 주로 Interface로 정의된 레포지토리(Repository)를 인스턴스로 제공합니다. 좀 더 정확히 말하면 인터페이스는 생성자를 정의할 수 없기 때문에 Repository.. 2023. 7. 15. 이전 1 다음 728x90 반응형