SOLID

2024-09-25

주로 OOP의 5대 원칙이라고 불리는 것들. 매우 주관적이다.

객체지향 설계의 도움을 줄 뿐이지 모든 상황에서 적용할 수 있는 것은 아니다.

절대 만능이 아니고 사용했을 때 안티 패턴이 되는 경우도 존재한다.

그냥 이것도 결국 Best Practice. 일 뿐이다.

SRP 단일 책임 원칙

하나의 클래스, 메서드는 하나의 역할만 수행해야 한다.

God Object를 피하자.

OCP 개방 폐쇄 원칙

불변으로 제공하고, 변화는 확장으로 제공

LSP 리스코프 치환 원칙

하위 클래스는 상위 클래스를 사용하는 곳에 대체 가능해야 한다.

ISP 인터페이스 분리 원칙

하나의 인터페이스는 하나의 기능이어야 한다.

DIP 의존관계 역전 원칙

의존 대상은 파생 클래스가 아닌 추상 클래스이어야 한다.