
SOLID원칙은 객체지향설계에서 소프트웨어를 더 이해하기 쉽고, 유지보수 가능하며, 확장 가능하게 만드는 다섯가지 핵심 원칙을 나타낸다.
SOLID는 다섯 가지 원칙의 약어다.
- 단일 책임 원칙 (Single Responsibility Principle, )
- 개방-폐쇄 원칙 (Open-Closed Principle)
- 리스코프 치환 원칙 (Liskov Substitution Principle)
- 인터페이스 분리 원칙 (Interface Segregation Principle)
- 의존관계 역전 원칙 (Dependency Inversion Principle)
Single Responsibility Principle ( 단일 책임 원칙 )
객체는 하나의 책임만 가져야 한다는 원칙
하나의 클래스는 하나의 기능을 담당하여 하나의 책임을 수행
Open-Closed Principle (개방-폐쇄 원칙)
기존의 코드를 변경하지 않으면서, 기능을 추가할 수 있도록 설계 되어야한다.
확장에 대해서는 개방적, 수정에 대해서는 폐쇄적이여야 한다는 의미
Liskov Substitution Principle (리스코프 치환 원칙)
자식 클래스는 부모 클래스에서 가능한 행위는 수행이 보장되어야한다.
Interface Segregation Principle (인터페이스 분리 원칙)
실제로 사용하는 인터페이스를 만들어야 한다는 의미로,
인터페이스를 사용에 맞게 끔 각기 분리 해야한다는 설계 원칙
Dependency Inversion Principle (의존 역전 원칙)
참조해야하는 대상의 상위요소 ( 추상클래스 & 인터페이스 ) 로 참조하라는 원칙