객체지향 설계 원칙 SOLID

Woong·2022년 9월 15일
0

Java

목록 보기
19/21

SOLID

SRP : 단일 책임 원칙

  • Single responsibility principle
  • 한 클래스는 하나의 책임만 가져야한다.
    • 클래스를 변경하는 이유는 단 하나여야한다.
    • 변경에 따른 파급효과가 적다

OCP : 개방-폐쇄 원칙

  • Open/closed principle
  • 확장에는 열려있으나, 변경에는 닫혀있어야한다.
    • 다형성을 활용

LSP : 리스코프 치환 원칙

  • Liskov substitution principle
  • 다형성에서 하위 클래스는 인터페이스 규약을 모두 지켜야한다.
    • 하위 타입 객체는 상위 타입 객체에서 가능한 행위를 수행할 수 있어야 한다.

ISP : 인터페이스 분리 원칙

  • Interface segregation principle
  • 범용 인터페이스를 만드는 것이 아닌, 특정 기능을 위한 인터페이스로 분리하도록 한다.
    • 인터페이스가 명확해지고, 대체 가능성이 높아진다.

DIP : 의존관계 역전 원칙

  • Dependency inversion principle
  • 고차원 모듈은 저차원 모듈에 의존하면 안된다.
    • 하위 클래스의 변경이 상위 모듈의 변경에 영향울 주지 않음
    • 구현 클래스가 아닌 인터페이스에 의존해야 유연하게 구현체를 대체할 수 있다.

0개의 댓글