SOLID 원칙 이해하기

yujin·2023년 12월 4일
0

TIL

목록 보기
21/48
post-thumbnail

SOLID 원칙 이해하기


1. SOLID 원칙이란 무엇인가?

SOLID 원칙은 객체 지향 프로그래밍과 설계에 있어서 중요한 5가지 원칙을 의미한다. 이 원칙들을 따르면 코드의 유지 보수성, 가독성, 재사용성을 향상시킬 수 있으며, 코드의 변경에 용이하게 대응할 수 있다.

2. SOLID 원칙의 특징

Single Responsibility Principle (SRP)

  • 한 클래스는 한 가지 기능만 가져야 한다.
    이 원칙을 따르면 기능별로 코드를 분리하고, 유지 보수와 코드의 이해를 용이하게 한다.

Open-Closed Principle (OCP)

  • 소프트웨어 개체(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고, 수정에는 닫혀 있어야 한다.
    이를 통해 새로운 기능을 추가하더라도 기존 코드를 변경하지 않고 확장할 수 있다.

Liskov Substitution Principle (LSP)

  • 부모 클래스와 자식 클래스 사이의 관계는 일관성이 있어야 한다.
    이를 통해 코드의 안정성을 유지하고 예상치 못한 버그를 방지할 수 있다.

Interface Segregation Principle (ISP)

  • 클라이언트는 사용하지 않는 인터페이스에 의존하지 않아야 한다.
    이를 통해 필요한 기능만을 사용하도록 하여 코드의 복잡성을 줄일 수 있다.

Dependency Inversion Principle (DIP)

  • 상위 모듈은 하위 모듈에 의존하지 않아야 한다.
    이를 통해 모듈 간의 느슨한 결합을 유지하고, 코드의 재사용성을 높일 수 있다.

3. SOLID 원칙의 활용 사례

리팩토링

  • 코드의 품질을 개선하고 유지 보수를 용이하게 하기 위해 SOLID 원칙을 활용한 리팩토링이 이루어질 수 있다.

디자인 패턴

  • SOLID 원칙은 많은 디자인 패턴의 기반 원칙이다. 이를 통해 더 효율적인 코드 설계와 구현을 돕는다.

4. SOLID 원칙의 장점과 단점

장점

유지 보수의 용이성

  • SOLID 원칙을 따르면 코드의 유지 보수와 확장이 용이하다.
    코드의 일부분만 변경하더라도 다른 부분에 영향을 미치지 않는다.
  • 코드 품질의 향상 SOLID 원칙을 따르면 코드의 품질이 향상되고, 코드의 안정성과 유연성을 높일 수 있다.

단점

시간과 노력이 필요

  • SOLID 원칙을 따르는 것은 초기에 시간과 노력을 필요로 한다.
    그러나 이는 장기적으로 코드의 품질 향상으로 이어진다.

5. etc

타입스크립트에 대한 지식이 좀 부족해서 그런가, 타입스크립트의 예시로 본 LSP, ISP, DIP 이 세 가지가 아직 이해가 많이 부족함. 머리 아프다.

profile
고통 받는 코딩일기

0개의 댓글