1. SOLID PrincipleSRP(Single Responsibility Principle, 단일 책임원칙)한 클래스는 하나의 책임만 가져야 한다.목적 : 시스템의 복잡성을 낮추고, 한 클래스가 하나의 기능만을 가져 수정을 용이하게 하여 유지보수를 용이하게 한다. 한 클래스가 여러 기능을 맡으면 하나의 기능에 문제가 생겼을 때 다른 기능에도 영향을 줄 수 있다.OCP(Open/Closed Principle, 개방-폐쇄 원칙)확장에는 열려있고 변경에는 닫혀있어야 한다.목적 : 기존의 코드를 수정없이 시스템의 기능을 확장할 수 있게 한다. 이는 기존 코드의 오류 가능성을 줄이면서 새로운 기능을 쉽게 추가할 수 있다.LSP(Liskov Substitution Principle, 리스코프 치환 원칙)서브 ..