SOLID 클래스 설계 원칙

Jiwoo Kim·2021년 3월 25일
0
post-thumbnail

SOLID 클래스 설계 원칙

  • Rober C. Martin이 제공한 객체 지향 클래스 설계에 관한 다섯 가지 원칙
  • 유지 보수 가능한 최상의 객체 지향 시스템 지침

SRP

Single Responsibility Principle

  • 클래스는 변경할 때 한 가지 이유만 있어야 한다.
  • 클래스는 작고 단일 목적을 추구해야 한다.

OCP

Open/Closed Principle

  • 클래스는 확장에 열려 있고 변경에는 닫혀 있어야 한다.
  • 기존 클래스의 변경 없이 기능을 확장할 수 있어야 한다.

LSP

Liskov Substitution Principle

  • 하위 타입은 반드시 상위 타입을 대체할 수 있어야 한다.
  • 인터페이스를 하위 타입 인스턴스로 변환하는 것이 기능성을 깨면 안 된다.

ISP

Interface Segregation Principle

  • 커다란 인터페이스를 다수의 작은 인터페이스로 분할해야 한다.
  • 구현체는 사용하지 않는 인터페이스에 의존하면 안 된다.

DIP

Dependency Inverse Principle

  • 고수준 모듈은 저수준 모듈에 의존하면 안 된다.
  • 둘 다 추상 클래스에 의존해야 한다.
  • 추상 클래스는 구체 클래스에 의존하면 안 된다.
  • 구체 클래스는 추상 클래스에 의존해야 한다.

0개의 댓글