728x90
반응형
SMALL
S — 단일 책임 원칙 (SRP)
- 한 모듈/클래스는 단 하나의 이유로만 변경되어야 한다.
→ “이 클래스의 역할을 한 문장으로 말할 수 있는가?”
O — 개방/폐쇄 원칙 (OCP)
- 확장에는 열려 있고, 수정에는 닫혀 있어야 한다.
→ 새로운 요구는 “코드 수정”보다 “확장(상속/합성/전략)”으로 처리.
L — 리스코프 치환 원칙 (LSP)
- 하위 타입은 상위 타입을 대체해도 깨지지 않아야 한다.
→ 하위가 상위의 계약/불변식을 어기면 안 됨(예: 의미 다른 예외/전제 추가 금지).
I — 인터페이스 분리 원칙 (ISP)
- 작고 응집된 인터페이스가 좋다.
→ “비대 인터페이스” 대신 역할별로 분리(사용하지 않는 메서드 강제 X).
D — 의존성 역전 원칙 (DIP)
- 구체(저수준)가 아니라 추상(고수준 정책)에 의존하라.
→ 인터페이스, DI(Container), 팩토리로 결합도↓, 테스트 용이성↑.
728x90
반응형
LIST