Solid원칙
- 객체지향 프로그래밍에서 소프트웨어 설계 원칙 중 하나
- 개발하면서 발생할 수 있는 문제점들을 해결하기 위한 지침을 제공
SRP (Single Responsibility Principle)
단일 책임 원칙 - 한 클래스(함수)는 하나의 책임
만 소유
OCP (Open-Closed Principle)
개방, 폐쇄 원칙 - 소프트웨어 요소는 확장에는 열려있지만 변경에는 폐쇄, 추상화
를 통해 준수 가능
LSP (Liskov Substitution Principle)
리스코프 치환 원칙 - 객체는 프로그램의 정확성을 깨뜨리지 않으며 하위 타입의 인스턴스를 바꿀 수 있는 형태
ISP (Interface Segregation Principle)
인터페이스 분리 원칙 - 특정 클라이언트를 위한 인터페이스 여러개가 범용 인터페이스(프로토콜) 하나보다 더 효율적
DIP (Dependency Inversion Principle)