카테고리 없음
software engineering - SOLID 원칙
folcjin
2025. 5. 29. 18:29
728x90
반응형
객체 지향 설계의 다섯 가지 핵심 원칙을 의미하며, 소프트웨어를 더욱 유연하고 유지보수하기 쉽게 만들어줍니다.
S | Single Responsibility Principle (SRP) | 단일 책임 원칙 |
O | Open/Closed Principle (OCP) | 개방-폐쇄 원칙 |
L | Liskov Substitution Principle (LSP) | 리스코프 치환 원칙 |
I | Interface Segregation Principle (ISP) | 인터페이스 분리 원칙 |
D | Dependency Inversion Principle (DIP) | 의존 역전 원칙 |
유지보수성 향상 | 변경이 발생해도 영향 범위 최소화 |
확장성 확보 | 새로운 기능 추가가 쉬움 |
결합도 감소 | 의존성 주입 및 추상화로 유연한 설계 가능 |
테스트 용이성 증가 | 단위 테스트 작성이 쉬워짐 |
코드 가독성 향상 | 역할이 명확한 클래스 및 메서드 구성 |
Single Responsibility Principle (단일 책임 원칙)
정의: 클래스는 단 하나의 책임만 가져야 하며, 변경 이유도 하나뿐이어야 한다.
효과
- 변경에 대한 영향 최소화
- 코드의 가독성 및 유지보수성 향상
- 변경에 대한 영향 최소화
- 코드의 가독성 및 유지보수성 향상
Open/Closed Principle (개방-폐쇄 원칙)
정의: “확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다.”
효과
- 기능 확장 시 기존 코드를 수정하지 않아도 됨 → 안정성 보장
Liskov Substitution Principle (리스코프 치환 원칙)
정의: 자식 클래스는 언제나 부모 클래스를 대체할 수 있어야 한다.
효과
- 클래스 간의 계약 보장
- 다형성 기반 코딩이 안전해짐
Interface Segregation Principle (인터페이스 분리 원칙)
정의: 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하지 않아야 한다.
효과
- 불필요한 메서드 구현 방지
- 인터페이스 사용이 명확해짐
Dependency Inversion Principle (의존 역전 원칙)
정의: 상위 모듈은 하위 모듈에 의존해서는 안 되며, 둘 다 추상화에 의존해야 한다.
효과
- 모듈 간 결합도 감소
- 테스트 및 재사용성 증가
728x90
반응형
사업자 정보 표시펼치기/접기
사업자 등록번호 : -- | TEL : --