반응형
Solid Principle
객체지향 프로그래밍 및 설계의 기본 원칙
1. SRP, Single Responsibility Principle 단일 책임 원칙
클래스 (객체) 는 단 하나의 책임만 가져야 한다
클래스는 소프트웨어 시스템 내에서 단 하나의 작업 또는 목적만 가져야 한다
프로그램의 유지보수성을 높이기 위한 설계 기법
책임의 범위는 개발자마다 기준이 다르기 때문에 100% 해답은 없다
2. OCP, Open/ Closed Principle 개방/ 폐쇄 원칙
소프트웨어 엔터티 (클래스, 모듈, 함수 등) 는 확장에는 열려 있어야 하지만 수정에는 닫혀 있어야 한다
클래스 동작을 수정하지 않고도 확장할 수 있어야 한다
3. LSP, LIskov Substitution Principle 리스코프 치환 원칙
파생 또는 자식 클래스는 기본 또는 부모 클래스로 대체 가능해야 한다
4. ISP, Interface Segregation Principle 인터페이스 분리 원칙
하나의 일반 인터페이스보다 많은 클라이언트 인터페이스를 선호해야 하며,
각 인터페이스는 특정 책임을 가져야 한다
5. DIP, Dependency Inversion Principle 의존 역전 원칙
상위 모듈은 하위 모듈에 의존해서는 안 되며, 둘 다 추상화에 의존해야 한다
또한 추상화는 세부 사항에 의존해서는 안 되고, 세부 사항은 추상화에 의존해야 한다
의존성이란, 한 모듈/ 객체가 다른 모듈/ 객체의 기능이나 데이터를 사용해야 할 때 생기는 관계를 말한다
간단하게 객체 간의 연결 관계를 말한다고 볼 수 있다
의존 역전 원칙의 지향점은 클래스 간의 결합도 coupling 을 낮추는 것이다
참고 - Geeksandgeeks
반응형
'TIL' 카테고리의 다른 글
[TIL] MTTD/ MTTR/ MTTF/ MTBF (0) | 2025.01.23 |
---|---|
[TIL] CORS 오류 (1) | 2025.01.17 |
[TIL][정글] Echo Server 만들기 (2) | 2024.10.28 |
[TIL] Demand-Zero Memory (1) | 2024.10.22 |
[TIL] mmap() (0) | 2024.10.22 |