의존성 역전 -TIL
의존성 역전(Dependency Inversion)은 객체 지향 프로그래밍에서 중요한 원칙 중 하나입니다. 이 원칙은 고수준 모듈이 저수준 모듈에 의존하면 안 되고, 두 모듈 모두 추상화에 의존해야 한다는 것을 말합니다.
즉, 의존성 역전 원칙은 상위 수준 모듈은 하위 수준 모듈에 의존해서는 안 되며, 두 모듈은 추상화(인터페이스)에 의존해야 한다는 것을 의미합니다. 이를 통해 모듈 간 결합도를 낮추고 유연성과 확장성을 높일 수 있습니다.
의존성 역전 원칙을 적용하려면 다음과 같은 절차를 따릅니다.
- 추상화(인터페이스)를 정의합니다.
- 추상화를 이용하여 고수준 모듈과 저수준 모듈을 분리합니다.
- 고수준 모듈이 추상화에 의존하도록 만듭니다.
- 저수준 모듈이 추상화를 구현하도록 만듭니다.
예를 들어, 로그인 기능을 구현하는 프로그램에서 의존성 역전을 적용하면 다음과 같이 할 수 있습니다.
- 인증 인터페이스를 정의합니다.
- 로그인 기능은 인증 인터페이스에 의존합니다.
- 실제 인증은 인증 인터페이스를 구현한 클래스가 담당합니다.
이렇게 하면 로그인 기능과 인증 구현이 분리되며, 인터페이스에 의해 결합도가 낮아지므로 유지보수와 테스트가 쉬워집니다.
댓글
