객체 지향 프로그래밍:: SOLID

jahlee·2023년 6월 26일
0

개인 공부

목록 보기
14/23

SOLID

SOLID란 컴퓨터 프로그래밍에서 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 말한다. 프로그래머가 시간이 지나도 유지보수와 확장이 쉬운 시스템을 만들고자 할 때 이 원칙들을 함께 적용 할 수 있다.

S - 단일 책임 원칙(Single Responsibilty Principle)

한 클래스는 하나의 책임만 가져야 한다.

O - 개방 폐쇠 원칙(Open/Closed Principle)

소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다

한 모듈을 수정해야 할 때, 이를 사용하는 모든 모듈을 줄줄이 고쳐야 한다면 이와 같은 프로그램은 수정하기가 어렵다. 개방-폐쇄 원칙은 시스템의 구조를 올바르게 리팩토링하여 나중에 이와 같은 유형의 변경이 더이상의 수정을 유발하지 않도록 하는 것이다.

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

프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다. 계약에 의한 설계를 참고하라.

부모 객체와 이를 상속한 자식 객체가 있을 때 부모 객체를 호출하는 동작에서 자식 객체가 부모 객체를 완전히 대체할 수 있다는 원칙이다.

I - 인터페이스 분리 원칙(Interface segregation Principle)

특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다.

클라이언트가 자신이 이용하지 않는 매서드에 의존하지 말아야 한다는 원칙이다. 인터페이스 분리 원칙은 큰 덩어리의 인터페이스들을 구체적이고 작은 단위들로 분리시킴으로써 클라이언트들이 꼭 필요한 메서드들만 이용할 수 있게한다.

D - 의존관계 역전 원칙(Dependency inversion Principle)

프로그래머는 추상화에 의존해야지, 구체화에 의존하면 안된다. 의존성 주입은 이 원칙을 따르는 방법 중 하나다.

  1. 상위 모듈은 하위 모듈에 의존해서는 안된다. 상위 모듈과 하위 모듈 모두 추상화에 의존해야 한다.
  2. 추상화는 세부 사항에 의존해서는 안된다. 세부사항이 추상화에 의존해야 한다.

0개의 댓글