0. 개요 - SOLID 원칙이란 객체 지향 프로그래밍(OOP) 설계 5원칙을 의미한다. - OOP는 프로그래밍을 객체 간 상호작용으로 간주한다. 그리고 그 객체는 1) 추상화, 2) 상속, 3) 다형성, 4) 캡슐화라는 특징을 기반으로 설계될 것을 권장한다. - 이를 통해, 개발자는 코드 재사용성, 유지보수의 용이성, 개발 생산성 제고라는 이익을 취할 수 있다. - SOLID 원칙은 그러한 OOP를 통한 이익을 극대화하기 위한 설계 원칙이라고 간주된다. - 그러한 SOLID 원칙은 다음과 같이 5개 원칙으로 구성되어 있다. SRP(단일 책임 원칙) OCP(개방 폐쇠 원칙) LSP(리스코프 치환 원칙) ISP(인터페이스 분리 원칙) DIP(의존 역전 원칙) - 각 원칙이 강조하는 개념은 명확히 구분되는 ..