SOLID란 객체지향 5대 원칙을 말한다. SRP(단일 책임 원칙), OCP(개방폐쇄 원칙), LSP(리스코프 치환 원칙), DIP(의존 역전 원칙), ISP(인터페이스 분리 원칙) 이 다섯가지의 앞글자를 따서 만든 원칙이다. 해당 원칙을 준수해가며 소프트웨어를 설계하
리스코프 치환 원칙에 대해 로버트 C.마틴은 아래와 같이 정의했다.Subtypes must be substitutable for their base types.즉 서브타입 객체는 반드시 상위 타입 객체를 대체 가능해야 한다는 것이 리스코프 치환 원칙의 핵심이다.모바일페
Bertrand Meyer은 1988년에 그의 논문에서 개방 폐쇄 원칙을 아래와 같이 설명했다."Software entities (classes, modules, functions, etc.) should be open for extension, but closed f
Robert C. Martin은 해당 원칙에 대해 이렇게 말했다.“Clients should not be forced to depend upon interfaces that they do not use“즉 인터페이스를 억지로 공통으로 쓰려하는 것 보다 차라리 분리해서
로버트 마틴은 DIP에 대해 이렇게 말했다.1\. 상위 수준의 모듈은 하위 수준의 모듈에 의존해서는 안된다, 둘 모두 추상화에 의존해야한다2\. 추상화는 구체적인 사항에 의존해서는 안된다, 구체적인 사항은 추상화에 의존해야한다DIP는 결국 클래스 간의 커플링을 감소시키