객체 지향 개발 5가지 원칙

김민영·2023년 1월 14일
0

CS 스터디

목록 보기
7/32
  • 객체지향 프로그래밍의 5가지 설계원칙 SOLID

SRP 단일 책임 원칙

Single Responsibility Principle

  • 객체는 오직 하나의 책임을 가져야 한다. ( 객체는 오직 하나의 변경 이유만을 가져야 한다.)
  • 클래스의 목적을 명확히 하여 구조가 난잡해지거나 수정 사항이 불필요하게 넓게 퍼지는 것을 예방. 기능을 명확히 분리.

OCP 개방-폐쇄 원칙

Open-Closed Principle

  • 객체는 확장에 대해서는 개방적이고 수정에 대해서는 폐쇄적이어야 한다.
  • 객체 기능은 확장을 허용하고, 스스로의 변경은 피해야 함.
  • 추상화에 의존 (추상화: 핵심적인 부분만 남기고 불필요한 부분 제거)

LSP 리스코프 치환 원칙

Liskov Substitution Principle

  • 자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있어야 한다.
  • 부모 클래스가 들어갈 자리에 자식 클래스를 넣어도 잘 작동해야 한다.
  • 상속의 본질.

ISP 인터페이스 분리 원칙

Interface Segregation Principle

  • 클라이언트에서 사용하지 않는 메소드는 사용해선 안된다.
  • 따라서 인터페이스를 작게 나누어 만든다.
  • 불필요한 간섭을 최소화

DIP 의존성 역전 원칙

Dependency Inversion Principle

  • 추상성이 높고 안정적인 고수준의 클래스는 구체적이고 불안정한 저수준의 클래스에 의존해서는 안 된다.
  • 고수준 모듈: 입력과 출력으로부터 먼 모듈 (비즈니스에 관함)
  • 저수준 모듈: 입력과 출력으로부터 가까운 모듈 (HTTP, 데이터베이스, 캐시 등에 관함)
profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글