728x90
반응형
SOLID 란
-로버트 마틴이 2000년대 초반 명명한 객체 지향 프로그래밍 및 설계의 기본 원칙을 이야기한 것 (wikipedia)
SOLID 소개
-위키 백과 내용을 기반으로 제가 경험하면서 받아들인 언어로 조금씩 붙여서 작성했습니다.
S (SRP) 단일 책임 원칙 (Single Responsibility Principle) | 한 클래스는 하나의 책임(기능)만 가져야 한다. |
O (OCP) 개방-폐쇄 원칙 (Open/Closed Principle) | 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. -> 즉 기존의 코드를 변경하지 않고 기능을 수정하거나 추가할 수 있도록 설계해야 한다. |
L (LSP) 리스코프 치환 원칙 (Liskov Substitution Principle) | 상위 타입 객체를 하위 타입 객체로 치환해도 정상적으로 동작해야 한다. -> 하위 타입 객체는 상위 타입 객체에서 가능한 행위를 수행할 수 있어야 한다. |
I (ISP) 인터페이스 분리 원칙 (Interface Segregation Principle) | 클라이언트는 자신이 사용하는 메소드에만 의존해야 한다. 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 않아야 한다. 하나의 통상적인 인터페이스보다 여러 개의 구체적인 인터페이스가 났다. |
D (DIP) 의존 관계 역전 원칙 (Dependency Inversion Principle) | 의존 관계를 맺을 때, 변하기 쉬운 것(구체적인 것) 보단 변하기 어려운 것(추상적인 것)에 의존해야 한다. -> 구체화된 클래스에 의존하기 보다는 추상 클래스나 인터페이스에 의존해야 한다. |
728x90
반응형
'컴퓨터 구조, 운영체제' 카테고리의 다른 글
컴퓨터 메모리 저장 방식과 2차원 for문 관계 (0) | 2023.12.14 |
---|---|
[운영 체제] 신입 필수 기본기 1 (0) | 2023.11.10 |
프레임워크? 라이브러리? (0) | 2023.11.09 |
메모리 구조 (0) | 2023.11.09 |