SOLID(객체지향 설계 원칙) 5가지 정리

2021년 09월 21일 (23일 전)

SOLID란?

객체지향 설계는 긴 세월과 수많은 시행착오를 거치며 5가지 원칙이 정리되었다. 이것은 객체지향 설계의 5원칙이라고 하며, 앞글자를 따서 SOLID라고 한다.

  • SPR(Single Responsibility Principle) : 단일 책임 원칙
  • OCP(Open Closed Principle) : 개방 폐쇄 원칙
  • LSP(Liskov Substitution Principle) : 리스코프 치환 원칙
  • ISP(Interface Segregation Principle) : 인터페이스 분리 원칙
  • DIP(Dependency Inversion Principle) : 의존 역전 원칙

이 원칙들은 응집도는 높이고 결합도는 낮추자는 고전 원칙을 객체 지향의 관점에서 재정립한 것으로 볼 수 있다.

SRP(단일 책임 원칙)

  • 하나의 클래스는 하나의 책임만 가져야한다.
  • 하나의 클래스가 변경되는 이유는 하나여야 한다.
  • 하나의 모듈은 오직 하나의 액터에 대해서만 책임져야 한다

OCP(개방 폐쇄 원칙)

  • 확장에는 열려 있어야 한다.
  • 변경에는 닫혀 있어야 한다.

LSP(리스코프 치환 원칙)

  • 자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있어야 한다.

ISP(인터페이스 분리 원칙)

  • 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다.
  • 하나의 일반적인 인터페이스보다는, 여러 개의 구체적인 인터페이스가 낫다.

DIP(의존관계 역전 원칙)

  • 구체적이고 불안정한 저수준의 클래스에 의존해서는 안된다.
태그#Oop