SOLID원칙이란?
: 아래 다섯가지 개념을 묶은건데, Robert C. Martin께서 아주 멋있는 이름을 붙여서 더 유명한거같다
- 단일 책임 원칙(SRP)
- 개방 폐쇄 원칙(OCP)
- 리스코프 치환 원칙(LSP)
- 인터페이스 분리 원칙(ISP)
- 의존관계 역전 원칙(DIP)
연극으로 비유
- 개인적으로 OOP 프로젝트를 연극에 대입해서 설명하고 해석하는데 참 잘어울린다고 생각한다.
하나만해라 원칙(SRP)
- 함수(or 클래스) 한가지 기능(책임)만 수행해라
- 책임은 클수도/작을수도 있고, 문맥과 상황에 따라 다른데
- 판단하는 기준은 프로그램 확장이 용이하고 사이드이펙트가 적도록
왜냐