*객체지향 설계 SOLID 1. SRP (Single Responsibility Principle) : 단일 책임 원칙 -한 클래스는 하나의 책임만 가져야 한다. -하지만 하나의 책임이라는 것은 모호하다. --클 수도 있고, 작을 수도 있다. --문맥과 상황에 따라 다르다. -중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것 2. OCP (Open / Closed Principle) : 개방-폐쇄 원칙 -소프트웨어 요소는 확장에는 열려 있으나, 변경에는 닫혀 있어야 한다. -이런 거짓말 같은 말이? 확장을 하려면 당연히 기존 코드를 변경해야 하는것이 아닌가? -다형성을 활용해보면 된다. -인터페이스를 구현한 새로운 클래스를 하나 만들어서 새로운 기능을 구현한다. ..