I. 재사용성과 유지보수 향상을 위한, 객체지향 설계원칙 개요
-. 정의: 코드를 좀더 유지보수하기 쉽고, 유연하고, 확장하기 쉽게 만들기 위한 소프트웨어 개발 5원칙
-. 특징: 응집도 높임, 결합도 낮춤, 일관성 높임, 협업 퀄리티 높임에 기여
II. 객체 지향 설계 5원칙 및 예시
가. 객체 지향 설계 5원칙
약어 | 원칙 | 설명 |
SRP | 단일책임의 원칙 | 하나 이상의 이유로 클래스를 변경해서는 안된다 모든 클래스는 오직 하나의 책임만 가진다 |
OCP | 개방폐쇄의 원칙 | 소프트웨어 요소는 확장에는 열려 있고 변경에는 닫혀 있어야 한다. |
LSP | 리스코프치환 원칙 | 베이스 클래스를 사용하는 기능들은 파생클래스로도 별다른 이해없이 사용가능해야 한다. |
ISP | 인터페이스 분리 원칙 | 특정 클라이언트를 위한 인터페이스 여러개가 범용 인터페이스 하나보다 낫다. |
DIP | 의존관계 역전 원칙 | 프로그래머는 추상화에 의존해야지, 구체화에 의존하면 안된다. |
나. 객체 지향 5원칙 사례
원칙 | 원칙 위반 사례 | 원칙 적용 사례 |
단일책임의 원칙 | ![]() |
![]() |
개방폐쇄의 원칙 | ![]() |
![]() |
리스코프치환 원칙 | ![]() |
![]() |
인터페이스 분리 원칙 | ![]() |
![]() |
의존관계 역전 원칙 | ![]() |
![]() |
'2. 소프트웨어 공학 > 소프트웨어 분석 및 설계' 카테고리의 다른 글
CBAM(Cost Benefit Analysis Model) (0) | 2022.10.17 |
---|---|
객체 지향 설계 원칙 (0) | 2022.07.23 |
객체지향 설계의 원리 (0) | 2022.07.16 |