Java(폐지)/객체지향 설계 5원칙-SOLID
객체 지향 설계 5원칙 - SOLID
kyeongjun-dev
2020. 7. 20. 17:38
SOLID
객체지향의 4대 특성
- 캡슐화
- 상속
- 추상화
- 다형성
SOLID
- SRP(Single Responsibility Principle):단일 책임 원칙
- OCP(Open Closed Principle):개방 폐쇄 원칙
- LSP(Liskov Substitution Principle):리스코프 치환 원칙
- ISP(Interface Segregation Principle):인터페이스 분리 원칙
- DIP(Dependency Inversion Principle):의존 역전 원칙
위의 5가지 원칙은 응집도는 높이고 결합도는 낮추라는 고전 원칙을 객체 지향의 관점에서 재정립한 것이라고 할 수 있다.
http://toby.epril.com/?p=727 참고결합도: 모듈(클래스) 간의 상호 의존 정도로서 결합도가 낮으면 모듈 간의 상호 의존성이 줄어들어 객체의 재사용이나 수정, 유지보수가 용이하다.
응집도: 하나의 모듈 내부에 존재하는 굿어 요소들의 기능적 관련성으로, 응집도가 높은 모듈은 하나의 책임에 집중하고 독립성이 높아져 재사용이나 기능의 수정, 유지보수가 용이하다.결합도 수준: 데이터 결합도, 스탬프 결합도, 컨트롤 결합도, 외부 결합도, 공유 결합도, 내용 결합도
응집도 수준: 기능 응집도, 순차 응집도, 통신 응집도, 절차 응집도, 시간 응집도, 논리 응집도, 우연 응집도