2025-08-09 00:47

Tags: 소프트웨어 공학

SOLID 원칙

  • 소프트웨어와 코드의 부패를 막기 위한 5가지 원칙

  • 모든 SOLID 원칙은 소프트웨어가 썩어버리지 않게 하는것이 목표

  • 하나를 고치면 다른게 망가져 결국 아무것도 고칠 수 없게되어 썩어버리는 문제

  • 결합도는 낮추고 응집도는 높여 건강한 소프트웨어 구조 유지

  • S: 단일 책임 원칙 Single Responsibility Principle SRP

  • O: 개방 폐쇄 원칙 Open-Closed Principle OCP

  • L: 리스코프 치환 원칙 Liskov Subsititution Priciple LSP

  • I: 인터페이스 분리 원칙 Interface Segregation Principle ISP

  • D: 의존성 역전 원칙 Dependency Inversion Principle DIP

  • OCP를 지키기 위해서는 DIPLSP가 기반이 되어야 합니다. 변화에 닫혀 있으려면 구체적인 구현이 아닌 추상화에 의존해야 하고(DIP), 확장을 위해 만들어진 하위 타입이 상위 타입을 문제없이 대체할 수 있어야 하기 때문입니다(LSP).

  • ISPSRP는 클래스와 인터페이스의 크기를 적절하게 유지하여 시스템의 복잡도를 낮추고, 결과적으로 다른 원칙들을 적용하기 쉽게 만드는 토대를 제공합니다.

References

단일 책임 원칙 개방 폐쇄 원칙 리스코프 치환 원칙 인터페이스 분리 원칙 의존성 역전 원칙

SOLID 원칙 핸드북