@Binds vs @Provides
- 공통점
- @InstallIn로 정의된 모듈 내부에서 종속성 주입을 위해 사용된다.
- @Binds : 인터페이스와 인터페이스의 구현체를 연결하는데에 사용된다.
- @Binds의 메서드는 추상 메서드여야 한다.고로 abstract 키워드를 요구한다.
- @Binds 메서드는 동일한 인터페이스에 여러개의 인터페이스 구현체를 연결할 수 없다.
- 주입될 타입은 인터페이스이다.
- @Provides : 종속성 객체를 생성, 제공하는 메서드를 정의할 때 사용된다. (@Binds 외의 경우)
- 종속성을 제공하는데에 의미가 있으므로, 반환값이 존재해야 한다.
- 복잡한 종속성을 제공하거나 외부 라이브러리를 제공하는데에 사용된다.
- 주입될 타입은 인터페이스, 클래스 등 다양하다.
'안드로이드 프로그래밍 > Android' 카테고리의 다른 글
[Android] 액티비티(Activity)와 생명주기(Lifecycle) (2) | 2024.09.13 |
---|---|
[Android] 안드로이드 4대 컴포넌트에 대해서 알아보자. (3) | 2024.09.11 |
[Android] view binding (0) | 2023.09.28 |
[Android] Linearlayout , layout_weight 속성 (0) | 2023.09.26 |