5. 그림과 같이 서비스 구현 클래스의 a(), b() 연산을 사용하는 클라이언트 클래스가 서비스 구현 클래스에 직접 의존하는 관계에서 클라이언트 클래스가 서비스 인터페이스에 의존하고 서비스 구현 클래스는 서비스 인터페이스를 구현하는 것으로 설계를 변경하였다. 다음 중 이와 가장 관련이 깊은 SOLID 설계 원칙은?
- 1단일 책임 원칙(Single Responsibility Principle)
- 2리스코프 치환 원칙(Liskov Substitution Principle)
- 3의존관계 역전 원칙(Dependency Inversion Principle)
- 4인터페이스 분리 원칙(Interface Segregation Principle)