역할과 구현을 분리
interface로 역할을 나타내고 구현체를 바꿔 끼우면 된다.
Appconfig
애플리케이션의 전체 동작 방식을 구성(config, 설정)하기 위해
구현 객체를 생성하고, 연결하는 책임을 가지는 별도의 설정 클래스
- AppConfig와 생성자를 이용해서 객체를 주입할 수 있다.
- AppConfig는 애플리케이션의 실제 동작에 필요한 구현객체를 생성한다.
- AppConfig는 생성한 객체 인스턴스 참조(레퍼런스)를 생성자를 통해서 주입(연결)한다.
관심사의 분리
객체를 생성하고 연결하는 역할
↕
실행하는 역할