본문 바로가기
공부/CS

[CS] 객체 지향 설계 원칙(SOLID)

by 맴썰 2022. 2. 19.

S(SRP)(Single Responsibility Principle) 단일 책임 원칙

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

O(OCP)(Open/Close Principle) 개방-폐쇄 원칙

-> 소프트웨어 요소는 확장에는 개방되어야 하나, 변경에는 폐쇄적이어야 한다.

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

->부모클래스의 객체는 언제든지 자식 클래스의 객체로 바뀔 수 있어야 한다.

I(ISP)(Interface Segregation Principle) 인터페이스 분리 원칙

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

즉, 세부적으로 나눌 수 있으면 나누는 것이 좋다.

D(DIP)(Dependency Inversion Priciple) 의존관계 역전 원칙

-> 구체적인 것 말고 추상적인 것에 의존하라. 상위 수준의 모듈은 하위 수준의 모듈에 의존해서는 안된다.

의존성 주입(Dependency Injection)이 그 예이다.

의존성 주입 : 하나의 객체가 다른 객체의 의존성을 제공하는 테크닉

(각각의 계층 또는 서비스 간에 의존성이 존재할 경우 연결)

'공부 > CS' 카테고리의 다른 글

[CS] 블록체인이란?  (1) 2022.03.26
[CS] WEB VS WAS  (0) 2022.03.14
[CS] Process VS Thread  (0) 2022.02.28
[CS] DB Transaction의 4가지 성질  (2) 2022.02.23
[CS] 객체 지향 프로그래밍의 특징  (2) 2022.02.19