반응형
흔히 객체지향 설계의 5대 원칙, OOP 5대 원칙 이란 말을 많이 들었는데요 약자를 좀 찾아보니,,,, 정확히는 설계보다는 프로그래밍이나 구현이라는 말이 더 맞아 보이긴 합니다.
- 객체지향 설계(object-oriented design : OOD)
- 객체지향 구현(object-oriented programming : OOP)
객체지향 소프트웨어 설계의 근본이나 목적이 되는 원칙, 디자인 패턴의 근본 원칙이 되겠습니다
재사용성과 유지보수성의 향상을 위해서 이런 것들이 필요하다고 하네요(높은 응집도, 낮은 결합도)
품질 향상 - 재 사용성, 유지 보수성, 이식성을 통한 생산성 및 품질의 향상
객체지향 설계의 5대 원칙
흔히 SOLID라고 많이 요약하곤 합니다
원칙 | 설명 | 비고 |
SRP : 단일 책임의 원칙 | 객체는 하나의 책임만을 맡아야 함 | 데이터 매퍼 패턴(DAO) |
OCP : 개방폐쇄 원칙 | 모듈은 확장에는 열려 있어야 하고 변경에는 닫혀 있어야 함 | |
LSP : 리스코프 치환원칙 | 기반 클래스는 파생 클래스로 대체 가능해야 함 | |
ISP : 인터페이스 분리의 법칙 | 하나의 일반적인 인터페이스 보다는 구쳊거인 여러 개의 인터페이스가 좋음 | 파일입력 : InputInterface 파일출력 : OutputInterface |
DIP : 의존관계 역전의 원칙 | 클라이언트는 구체 클래스가 아닌 인터페이스나 추상 클래스에 의존해야 함 | Event Driven |
반응형
댓글