SOLID 원칙은 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙입니다. 단일책임 원칙, 개방폐쇄 원칙, 리스코프 치환 원칙, 인터페이스 분리 원칙, 의존관계 원칙이 있습니다.

단일책임 원칙은 하나의 객체가 하나의 책임만 가져야 합니다.

개방폐쇄 원칙은 수정에는 닫혀있으나 확장에는 열려있어야 합니다.

리스코프 치환 원칙은 하위 객체는 언제든지 상위 객체로 대체되어야 합니다.
상위 타입을 상속해서 재정의 했을 때 프로그램이 깨지지 않아야 합니다.

인터페이스 분리 원칙이란 자신이 사용하지 않는 메서드에 의존관계를 맺어서는 안된다는 것입니다. 해당 원칙을 준수하기 위해서는 하나의 큰 인터페이스 보다는 역할에 맞게 인터페이스를 작게 나누어 이들을 구현하는 방식이 있습니다.

의존성 역전 원칙은 추상적인 것은 자신보다 구체적인 것에 의존하지 않고, 변화하기 쉬운 것에 의존해서는 안된다는 원칙입니다. 구체적으론 구현 클래스에 의존하지 말고, 인터페이스에 의존해야 하는 원칙입니다.

단일책임원칙이 잘 준수됐는지 구체적인 기준이 있을까요?

  • SRP
  • OCP
  • LSP
  • ISP
  • DIP