SOLID
Updated:
객체 지향의 특성(캡슐화, 상속, 추상화, 다형성)에 이어
객체 지향을 올바르게 설계할 수 있도록 도와주는 원칙들을 알아 볼까 합니다.
SOLID란?
SOLID 란 응집도는 높이고(High Cohesion), 결합도는 낮추는(Loose Coupling) 고전 원칙을 객체 지향의 관점에서 5가지 원칙으로 재정립한 것이라고 할 수 있습니다.
단일 책임 원칙(SPR)
하나의 클래스는 단 하나의 책임과 기능을 가져야 한다.
개방-폐쇄 원칙(OCP)
소프트웨어의 구성요소(컴포넌트, 클래스, 모듈, 함수)는 확장에는 개방하고, 수정에 대해서는 폐쇄해야 한다.
즉, 변경이나 추가사항이 발생하더라도, 기존 구성요소는 수정이 일어나면 안되고 쉽게 확장해서 재사용할 수 있어야 한다.
리스코프 치환 법칙(LSP)
하위 클래스와 상위 클래스의 위치를 치환(교체)하여도 잘 동작하여야 한다는 원칙이다.
인터페이스 분리 원칙(ISP)
여러 기능이 통합되어 있는 하나의 인터페이스보다는 기능별로 n개의 구체적인 인터페이스가 낫다.
의존성 역전 법칙(DIP)
추상화에 의존해야지, 구체화에 의존하면 안된다. 상위 클래스가 하위 클래스에 종속되면 안된다.
Leave a comment