SOLID 원칙 - 객체지향 설계 원칙 - SRP, OCP, LSP, ISP, DIP 5가지 원칙 1. SRP(Single Responsibility) 단일 책임 원칙 - 클래스는 단 한개의 책임을 가져야 함 - 클래스를 변경하는 이유는 단 하나여야 함 2. OCP(Open-Closed) 개방-폐쇄 원칙 - 확장에는 열려있어야 하고, 변경에는 닫혀있어야 함 - 기존의 코드를 변경하지 않고 기능을 수정하거나 추가할 수 있도록 설계해야 함 3. LSP(Liskov Substutution) 리스코프 치환 원칙 - 하위 타입 객체는 상위 타입 객체에서 가능한 행위를 수행할 수 있어야 함 - 상속 관계에서는 꼭 일반화 단계 IS-A가 성립해야 한다는 의미 4. ISP(Interface Segregation) 인터..