1. OCP, SRPSRP(단일 책임 원칙) : 하나의 클래스는 하나의 책임만 가져야 한다는 원칙 코드의 이해가 쉬워지고 유지보수가 용이해짐OCP(개방 폐쇄 원칙) : 확장 시 새로운 요구사항이 생겼을 때 기능을 추가할 수 있어야 하고, 기능 추가 떄문에 기존 클래스의 코드를 수정하지 않아야 한다OCP, SRP 위반// SRP, OCP 둘다 위반class PaymentService { public int pay(String type, int price) { int discount = 0; if (type.equals("RATE")) { discount = price * 10 / 100; } else if (type.equals("FIXED")..