클래스가 제공하는 기능들은 하나의 책임을 수행하는데 집중해야 한다는 원칙
SRP를 안지켜질 때
SRP가 잘 지켜질 때
기타
확장에는 열려있고(Open), 변경에는 닫혀 있어야 한다(Close)는 원칙입니다.
목적
OCP가 안지켜지면
Lower Class의 객체는 Upper Class의 참조 변수에 대입해서 Upper Class의 역할을 수행하는데 문제가 없어야 한다는 원칙
ex) 상위 클래스에서 accelerte 라는 메서드를 사용했는데, 하위 클래스에서 accelerte를 Overriding 하여 감속하게 하면 안된다.