Skip to content

Latest commit

 

History

History
26 lines (20 loc) · 1.34 KB

SOLID.md

File metadata and controls

26 lines (20 loc) · 1.34 KB

SOLID 원칙

객체지향 5대원칙 또는 SOLID 원칙이란 단어를 들어본 적이 있을 것이다.
SOLID 원칙 하나하나 예를 들며 설명해보겠다.

객체지향 5대 원칙

  1. SRP(단일 책임 원칙)
  2. OCP(개방-폐쇄 원칙)
  3. LSP(리스코프 치환 원칙)
  4. DIP(의존 역전 원칙)
  5. ISP(인터페이스 분리 원칙)

SRP 단일 책임 원칙

  • 소프트웨어의 설계 부품은 단 하나의 책임만을 가져야 한다.

여기서 책임이란 '기능' 정도의 의미이다.

설계를 잘한 프로그램은 기본적으로 새로운 요구사항과 프로그램 변경에 영향을 받는 부분이 적다.
책임이 많아지면 클래스 내부의 함수끼리 강한 결합을 발생할 가능성이 높아진다.
이는 유지보수에 비용이 증가하게 되므로 따라서 책임을 분리시킬 필요가 있다.

OOP 개방 폐쇄 원칙

  • 기존의 코드를 변경하지 않고 기능을 추가하거나 수정할 수 있도록 설계해야 한다.

OCP 에 만족하는 설계를 할 때는 변경되는것이 무엇인지 초점을 맞춘다.
자주 변경되는 내용은 수정하기 쉽게 설계하고, 변경되지 않아야 하는 것은 수정되는 내용에 영향을 받지 않게 하는 것이 포인트다.
이를 위해 자주 사용하는 문법이 인터페이스이다.