SOLID 원칙

기타 2023. 5. 31. 09:34
반응형

SOLID는 객체 지향 프로그래밍에서 소프트웨어 디자인 원칙의 앞글자를 딴 약어입니다. 

  • Single Responsibility Principle (단일 책임 원칙, SRP):
    클래스는 하나의 단일 책임만 가져야 합니다. 즉, 클래스는 변경의 이유가 오직 하나여야 하며, 오직 한 가지 기능에 집중되어야 합니다. 이는 클래스의 응집도를 높이고, 변경이 필요한 경우 다른 기능에 영향을 덜 주며 코드의 이해와 유지 관리를 용이하게 만듭니다.

  • Open-Closed Principle (개방-폐쇄 원칙, OCP):
    소프트웨어의 엔티티(클래스, 모듈 등)는 확장에는 열려 있어야 하지만 변경에는 닫혀 있어야 합니다. 즉, 기존의 코드를 변경하지 않고 새로운 동작을 추가할 수 있어야 합니다. 이를 위해 추상화, 다형성, 인터페이스 등을 활용하여 코드를 설계합니다.

  • Liskov Substitution Principle (리스코프 치환 원칙, LSP):
    서브 타입은 언제나 기반 타입으로 대체될 수 있어야 합니다. 즉, 상속 관계에서 자식 클래스는 부모 클래스의 기능을 제대로 이행해야 합니다. 이를 통해 다형성을 지원하고, 클라이언트 코드가 서브 타입을 투명하게 다룰 수 있도록 합니다.

  • Interface Segregation Principle (인터페이스 분리 원칙, ISP):
    클라이언트는 자신이 사용하지 않는 인터페이스에 의존하도록 강요받지 않아야 합니다. 즉, 인터페이스는 클라이언트에게 필요한 기능만 제공해야 합니다. 인터페이스의 분리는 결합도를 낮추고, 의존성을 관리하기 쉽게 만들어줍니다.

  • Dependency Inversion Principle (의존성 역전 원칙, DIP):
    의존 관계는 추상화에 의존해야 하며, 구체적인 구현에 의존해서는 안 됩니다. 즉, 고수준 모듈은 인터페이스나 추상 클래스와 같은 추상화에 의존해야 하며, 저수준 모듈은 추상화에 의존해야 합니다. 이를 통해 결합도를 낮추고 유연성과 확장성을 향상시킵니다.
반응형
Posted by 까칠코더
,