목차

SOLID가 뭔데?

클린 코드(Clean Code)로 좋은 코드를 작성하여 좋은 소프트웨어를 만들어보고자 시작을 하지만, 생각처럼 되지 않는 경우가 많다. 좁게 봤을때 클린 코드를 지켰고, 좋은 벽돌을 만들었다고 할지라도, 건물의 구조가 엉망이라면 이 건물은 좋은 벽돌로 만든 엉망인 건물인 것이다.

그렇기에 좋은 벽돌로 좋은 건물을 짓기 위해서 구조를 정의하는 원칙이 필요한데 이러한 원칙들의 앞 글자를 따서 만든게 SOLID 원칙이다.

이러한 SOLID 원칙은 함수와 데이터 구조를 클래스로 어떻게 배치하는지, 클래스를 어떻게 서로 결합하는지에 대해 설명해준다.

여기서 ‘클래스’ 라고 지칭하지만, 객체 지향 소프트웨어에만 적용되는건 아니다. 여기서 클래스는 단순히 함수와 데이터를 결합한 집합을 가리킨다고 생각하면 된다. 모든 소프트웨어 시스템은 이러한 집합을 포함하고, SOLID 원칙은 이러한 집합에 적용된다.

SOLID 원칙이 추구하는 방향

짧게 보는 SOLID 원칙


SRP(Single Responsibility Principle)

단일 책임 원칙