의존성 역전 -TIL

future0159 3월 30일 PM 08:09 8 0
future0159 Profile Image Level 9
1

의존성 역전(Dependency Inversion)은 객체 지향 프로그래밍에서 중요한 원칙 중 하나입니다. 이 원칙은 고수준 모듈이 저수준 모듈에 의존하면 안 되고, 두 모듈 모두 추상화에 의존해야 한다는 것을 말합니다.
즉, 의존성 역전 원칙은 상위 수준 모듈은 하위 수준 모듈에 의존해서는 안 되며, 두 모듈은 추상화(인터페이스)에 의존해야 한다는 것을 의미합니다. 이를 통해 모듈 간 결합도를 낮추고 유연성과 확장성을 높일 수 있습니다.
의존성 역전 원칙을 적용하려면 다음과 같은 절차를 따릅니다.

  1. 추상화(인터페이스)를 정의합니다.
  2. 추상화를 이용하여 고수준 모듈과 저수준 모듈을 분리합니다.
  3. 고수준 모듈이 추상화에 의존하도록 만듭니다.
  4. 저수준 모듈이 추상화를 구현하도록 만듭니다.

예를 들어, 로그인 기능을 구현하는 프로그램에서 의존성 역전을 적용하면 다음과 같이 할 수 있습니다.

  1. 인증 인터페이스를 정의합니다.
  2. 로그인 기능은 인증 인터페이스에 의존합니다.
  3. 실제 인증은 인증 인터페이스를 구현한 클래스가 담당합니다.

이렇게 하면 로그인 기능과 인증 구현이 분리되며, 인터페이스에 의해 결합도가 낮아지므로 유지보수와 테스트가 쉬워집니다.

댓글