객체지향 5대 원칙/인터페이스 분리 원칙(ISP)

굥지·2024년 11월 17일
0

인터페이스 분리 원칙(ISP)

인터페이스 분리 원칙이란, 객체는 자신이 호출하지 않는 메소드에 의존하지 않아야한다는 원칙이다.

5가지 SOLID 원칙

객체지향 설계에서 지켜줘야 할 5개의 소프트웨어 개발 원칙

  • 단일 책임 (SRP)
  • 개방 폐쇄 (OCP)
  • 리스코프 치환 (LSP)
  • 인터페이스 분리 (ISP)
  • 종속성 역전 (DIP)

이 5가지를 SOLID원칙이라고 한다.

단일 책임 원칙(Single Responsibility)

  • 컴포넌트도 클래스도 함수도 하나만 책임진다.
  • 클래스가 너무 많은 일을 책임진다면 일을 나눈다.

단일 책임을 무시한다면


이런식으로 클래스를 분할한다.

개방 폐쇄 원칙(Open- losed)

  • 확장에는 개방적이되, 수정에는 폐쇄적일 것
  • 새로운 요소를 추가할 때마다 기존의 코드도 수정되는 상황을 피할 것

각각 도형이 추가될때마다 추가한 클래스에 기능을 추가(기존 클래스를 수정하는 방식X)

리스코프 치환 원칙(Liskov Substitution)

  • 자식 클래스는 부모 클래스로 완전히 대체할 수 있다.
  • 자식은 부모의 기능을 제거하지 않도록, 부모는 너무 많은 로직을 가지지 않도록
  • 자식 클래스가 기능을 추가할땐 가능한한 인터페이스를 사용한다.

인터페이스 분리 원칙(Interface Scgregation)

  • 객체는 자신이 호출하지 않는 메서드에 의존하지 않아야한다는 원칙
  • 특정 클래스가 사용하지도 않을 약속에 얽매여서는 안된다.
  • 하나의 인터페이스에 너무 많은 약속이 있으면 곤란


규모가 너무 큰 객체를 상속했을 때 방생하는 문제와 이를 인터페이스로 분리하여 해결하는 방법이다.

의존 역전 원칙(Dependency Inversion)

  • 클래스 간 종속성을 최소화한다.
  • 상위 모듈이 하위 모듈의 정보나 기능에 의존하면 안된다.
  • 구제촤된 클래스에 의존하기보다는 추상 클래스나 인터페이스에 의존해야 한다는 의미.

0개의 댓글

관련 채용 정보