한페이지 요약

공부노트-9.jpg

SOLID 원칙이란

원칙 설명
**SRP
(Single Responsibility Principle)** 단일 책임 원칙
하나의 클래스는 하나의 책임만 가져야 한다.
**OCP
(Open/Closed Principle)** 개방-폐쇄 원칙
소프트웨어 요소(클래스, 모듈, 함수 등..)는 확장에는 열려있으나 변경에는 닫혀 있어야 한다.
**LSP
(Liskov Substitution Principle)** 리스코프 치환 원칙
만약 S가 T의 서브타입이라면, T는 어떠한 경고도 내지 않고 S로 대체가 가능해야 함
(부모 클래스는 언제나 자식 클래스로 대체될 수 있어야 함)
**ISP
(Interfacce Segregation Principle)** 인터페이스 분리 원칙
클라이언트는 사용하지 않는 인터페이스에 의존하도록 강요되어서는 안 된다.
**DIP
(Dependency Inversion Principle)** 의존관계 역전 원칙
상위 모듈이 하위 모듈에 직접 의존하는 것이 아니라, 둘 다 추상화에 의존하도록 설계해야 함.

SOLID 원칙이 왜 필요할까?

SOLID 원칙을 적용하면 나쁜 아키텍처로 인해 생기는 아래와 같은 문제들을 해결할 수 있다.

⇒ SOLID 원칙은 반드시 지켜야 하는 규칙이 아니라 아키텍처의 질을 높이기 위한 가이드라인일 뿐임 ‼️

📌 1. 단일 책임 원칙 (Single Responsibility Principle, SRP)