카테고리 없음

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 : --