SOLID란 클린코드의 저자 로버트 C.마틴이 2000년대 초, 객체지향 프로그래밍 및 설계의 다섯가지 원칙을 정의하였다. 이를 동료 개발자인 마이클 페더스가 앞글자를 따와서 정리한 것이 SOLID 이다. 응집도를 높이고, 결합도는 낮추는 원칙을 OOP 즉, 객체지향의 관점에서 재정립한 설계 원칙이다. 다음과 같은 다섯가지가 있다. 1. SRP (Single Responsibility Principle) : 단일 책임 원칙 2. OCP (Open Closed Principle) : 개방 폐쇄 원칙 3. LSP (Liskov Substitution Principle) : 리스코프 치환 원칙 4. ISP (Interface Segregation Principle) : 인터페이스 분리 원칙 5. DIP (De..