본문 바로가기
Dev/Clean Code

객체 지향 설계 - SOLID 원칙

by 돈코츠라멘 2022. 2. 15.

SOLID란 로버트 마틴이 2000년대 초반 명명한 객체 지향 프로그래밍 및 설계의 다섯가지 기본 원칙을 마이클 페더스가 약어를 따서 다시 소개한 것이다. SOLID 원칙은 개발 과정에서 소스코드의 가독성을 높이고 확장하기 쉽게 하기 위해 끊임없이 리팩토링할 수 있는 지침이다. 

 

 


이하 다른 포스팅에 각 원칙에 대해 정리


SRP(Single Responsibility Principle)

단일 책임 원칙: 한 클래스는 하나의 책임만 가져야 한다.

https://deep-dive-dev.tistory.com/87

 

[클린 소프트웨어] PART 2 - CHAPTER 9 - 개방 폐쇄 원칙(OCP)

소프트웨어 개체(클래스, 모듈, 함수 등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다. OCP; Open-Closed Principle OCP를 따르는 모듈은 다음과 같은 두 가지 속성을 갖는다. Open:

deep-dive-dev.tistory.com

 

OCP(Opne-Closed Principle)

개방-폐쇄 원칙: 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.

https://deep-dive-dev.tistory.com/89

 

[클린 소프트웨어] PART 2 - CHAPTER 9 - 개방 폐쇄 원칙(OCP)

소프트웨어 개체(클래스, 모듈, 함수 등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다. OCP; Open-Closed Principle OCP를 따르는 모듈은 다음과 같은 두 가지 속성을 갖는다. Open:

deep-dive-dev.tistory.com

 

LSP(Liskov substitution Principle)

리스코프 치환 원칙: 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다.

https://deep-dive-dev.tistory.com/90

 

[클린 소프트웨어] PART 2 - CHAPTER 10 - 리스코프 치환 원칙(LSP)

서브타입(subtype)은 그것의 기반 타입(base type)으로 치환 가능해야 한다. LSP; Liskov Substitution Principle 1988년 바버라 리스코프(Barbara Liskov)가 처음으로 작성해서 리스포크 치환 원칙이라고 불린다...

deep-dive-dev.tistory.com

 

ISP(Interface Segregation Principle)

인터페이스 분리 원칙: 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다.

https://deep-dive-dev.tistory.com/91

 

[클린 소프트웨어] PART 2 - CHAPTER 12 - 인터페이스 분리 원칙(ISP)

ISP; Interface-Segregation Principle 인터페이스 분리 원칙은 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다. 가장 간단한 예시를 들자면, abstract class Door { abstract fun..

deep-dive-dev.tistory.com

 

DIP(Dependecy Inversion Principle)

의존관계 역전 법칙: 개발자는 "추상화에 의존해야지, 구체화에 의존하면 안된다"

// todo 정리하기!!

댓글