SOLID 원칙
객체지향 프로그래밍 및 설계에서 유지보수가 쉽고, 확장 가능하며, 읽기 쉬운 코드를 만들기 위한 5가지 기본 원칙(SRP, OCP, LSP, ISP, DIP)의 약자이다.
SOLID 원칙의 핵심은 변경에 유연하고 이해하기 쉬운 소프트웨어 구조를 만드는데 있다.
변경에 유연하다라는 말은 결합도는 낮고 응집도는 높은 구조를 의미한다.
함수와 데이터 구조를 효과적으로 결합하고, 이 집합들을 서로 유기적으로 연결하는 방법을 제시한다.
- S : SRP, Single Responsibility Principle (단일 책임 원칙)
- O : OCP, Open-Closed Principle (개방-폐쇄 원칙)
- L : LSP, Liskov Substitution Principle (리스코프 치환 원칙)
- I : ISP, Interface Segregation Principle(인터페이스 분리 원칙)
- D : DIP, Dependency Inversion Principle(의존성 역전 원칙)