SOLID 원칙 쉽게 설명하기

몽슈뜨·2023년 5월 17일
0

TIL

목록 보기
68/70
post-thumbnail

👻 솔리드 원칙

단일책임의 원칙

하나의 객체는 단 하나의 책임(역할)을 가진다.
즉, 클래스나 모듈을 변경할 이유가 단 하나 뿐이어야 한다는 원칙

개방-폐쇄 원칙

소프트웨어 엔티티 또는 개체(클래스, 모듈, 함수 등)는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.
즉, 소프트웨어 개체의 행위는 확장될 수 있어야 하지만, 개체를 변경해서는 안된다.
조금 더 쉽게 설명하자면, 기존 코드에 영향을 주지않고 소프트웨어에 새로운 기능이나 구성 요소를 추가할 수 있어야 한다는 것

리스코프 치환 원칙

프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다.

인터페이스 분리 원칙

특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다.
즉, 클라이언트가 필요하지 않는 기능을 가진 인터페이스에 의존해서는 안 되고, 최대한 인터페이스를 작게 유지해야합니다.
조금 더 쉽게 설명하자면, 사용자가 필요하지 않은 것들에 의존하지 않도록, 인터페이스를 작게 유지해야 한다는 것입니다.
여기서 설명하는 인터페이스(interface)는 대표적으로 Java, C++ 그리고 Typescript에서 사용하는 문법입니다.

의존성 역전 원칙

프로그래머는 추상화에 의존해야지, 구체화에 의존하면 안된다.
즉, 높은 계층의 모듈(도메인)이 저수준의 모듈(하부구조)에 의존해서는 안된다.



🎃간단버전

S : 단일 책임 원칙, 하나의 클래스는 하나의 책임만 가져야함 = 클래스를 복잡하게 설게하지말고 여러개로 쪼개서 사용해라.
O : 개방 폐쇄 원칙, 기능 추가시 기존의 코드 변경 없이 추가가 가능해야함
L : 리스코프 치환 원칙, 상위 타입의 객체를 하위 타입의 객체로 사용을 해도 정상 작동 해야한다.
I : 인터페이스 분리 원칙, 하나의 일반적인 인터페이스 보다는 여러개의 구체적인 인터페이스를 사용하는 것이 좋다.
D : 의존 역전 원칙, 의존 관계를 맺을때에는 될수있으면 상위개념, 추상화 된것에 의존해라.

profile
개발자되면 맥북사줄께

0개의 댓글