SOLID (1)

manx·2022년 4월 29일
0

spring

목록 보기
4/17

스프링의 탄생 배경은 결국 '객체지향의 장점을 살리자'였다.
객체지향에는 5가지 핵심 내용이 있고, 이것들의 앞글자를 따 SOLID라고 한다.

SRP (단일 책임의 원칙 : Single Responsibility Principle)

  • 작성된 클래스는 하나의 기능만 가지며 클래스가 제공하는 모든 서비스는 그 하나의 책임을 수행하는 데 집중되어 있어야 한다.

OCP(개방-폐쇄 원칙 : Open/closed principle)

  • 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.

LSP(리스코트 치환 원칙 : Liskov substitution principle)

  • 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다.

ISP(인터페이스 분리 원칙 : Interface segregation principle)

  • 특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다.

DIP(의존관계 역전 원칙 : Dependency inversion principle)

  • 프로그래머는 추상화에 의존해야지, 구체화에 의존하면 안 된다. 의존성 주입은 이 원칙을 따르는 방법 중 하나이다.
  • 인터페이스에 의존해야지, 구현 클래스에 의존하면 안 된다.

이것들 중 OCP, DIP에 대해 강의를 보면서 크게 와닿아서 다음 포스트에 정리하겠다.

profile
Back-end Developer

0개의 댓글