1. 객체지향 원칙 - OCP (Open Closed Principle) : 클래스는 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다. - SRP (Single Responsibility Principle): 한 클래스는 하나의 책임만 가져야 한다. - LSP (Liskov Substitution Principle): 자식 클래스는 부모 클래스로 교체가능해야 한다. - DIP (Dependency Inversion Principle): . 상위 레벨 모듈은 하위 레벨 모듈에 의존해서는 안 된다. . 모든 레벨의 모듈은 추상화에 의존해야 한다. - ISP (Interface Segregation Principle): 클라이언트는 필요하지 않는 인터페이스에 의존해서는 안 된다. 큰 인터페이스보다는 작..