SOLID (객체 지향 설계 5대 원칙)

나무에물주기·2023년 1월 10일
1

CS

목록 보기
8/16

SOLID (객체 지향 설계 원칙)

객체 지향적으로 설계하기 위해 SOLID라 불리는 다섯 가지 원칙이 있다.

  1. 단일 책임 원칙 (SRP, Single Responsibility Principle)
  • 하나의 클래스는 단 하나의 책임만 가져야 한다.
  • 단일 책임 원칙을 지키지 않을 경우 한 책임의 변경에 의해 다른 책임과 관련된 코드에 영향이 갈 수 있다.
  1. 개방-폐쇄 원칙 (OCP, Open/Closed Principle)
  • 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다
  • 기능을 변경하거나 확장할 수 있으면서 기능을 사용하는 코드는 수정하지 않는다.
  1. 리스코프 치환 원칙 (LSP, Liskov Substitution Principle)
  • 프로그램 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다.
  • 상위 타입의 객체를 하위 타입의 객체로 치환해도, 상위 타입을 사용하는 프로그램은 정상적으로 동작해야 한다.
  1. 인터페이스 분리 원칙 (ISP, Interface Segregation Principle)
  • 범용 인터페이스 하나보다 클라이언트를 위한 여러 개의 인터페이스로 구성하는 것이 좋다.
  • 인터페이스는 인터페이스를 사용하는 클라이언트를 기준으로 분리해야 한다.
  • 클라이언트가 필요로 하는 인터페이스로 분리함으로써 각 클라이언트가 사용하지 않는 인터페이스에 변경이 있어도 영향을 받지 않도록 만들어야 한다.
  1. 의존관계 역전 원칙 (DIP, Dependency Inversion Principle)
  • 추상화에 의존해야지 구체화에 의존하면 안된다.
  • 고수준 모듈은 저수준 모듈의 구현에 의존해서는 안되고 저수준 모듈은 고수준 모듈에서 정의한 추상 타입에 의존해야 한다.
profile
개인 공부를 정리함니다

0개의 댓글