# SOLID 원칙

SOLID 원칙들은, 소프트웨어 작업에서 프로그래머가 소스 코드를 **읽기 쉽고 확장하기 쉽게** 될 때 까지 리팩토링하여 [**코드 냄새**](https://ko.wikipedia.org/wiki/%EC%BD%94%EB%93%9C_%EC%8A%A4%EB%A9%9C)**를 없애기 위해** 쓰기 좋은 지침이다.

## 1. Single Responsibility Principle (SRP; 단일 책임 원칙)

{% content-ref url="solid-priciple/1-srp" %}
[1-srp](solid-priciple/1-srp)
{% endcontent-ref %}

## 2. Open/Closed Principle (OCP; 개방-폐쇄 원칙)

{% content-ref url="solid-priciple/2-ocp" %}
[2-ocp](solid-priciple/2-ocp)
{% endcontent-ref %}

## 3. Liskov Substitution principle (LSP; 리스코프 치환 원칙)

{% content-ref url="solid-priciple/3-lsp" %}
[3-lsp](solid-priciple/3-lsp)
{% endcontent-ref %}

## 4. Interface Segregation Principle (ISP; 인터페이스 분리 원칙)

{% content-ref url="solid-priciple/4-isp" %}
[4-isp](solid-priciple/4-isp)
{% endcontent-ref %}

## 5. Dependency Inversion Principle (DIP; 의존관계 역전 원칙)

{% content-ref url="solid-priciple/5-dip" %}
[5-dip](solid-priciple/5-dip)
{% endcontent-ref %}
