# 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="/pages/-MGs-AJp0fPw6azAZ6Nm" %}
[1. SRP](/design-pattern/solid-priciple/1-srp.md)
{% endcontent-ref %}

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

{% content-ref url="/pages/-MGs-zRrkos6Zp1FM-gU" %}
[2. OCP](/design-pattern/solid-priciple/2-ocp.md)
{% endcontent-ref %}

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

{% content-ref url="/pages/-MGs028J4Q1EdPk2qFEs" %}
[3. LSP](/design-pattern/solid-priciple/3-lsp.md)
{% endcontent-ref %}

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

{% content-ref url="/pages/-MGs0BlA6RfT0maQuLwH" %}
[4. ISP](/design-pattern/solid-priciple/4-isp.md)
{% endcontent-ref %}

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

{% content-ref url="/pages/-MGs0EhTCzgh6\_g5wSyX" %}
[5. DIP](/design-pattern/solid-priciple/5-dip.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://devlog.joonas.io/design-pattern/solid-priciple.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
