public class OrderServiceImpl implements OrderService{ // 구현 클래스에 의존한다 -> DIP 위반 // 1번 private final MemberRepository memberRepository = new MemoryMemberRepository(); // 2번 private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); // 기능을 확장하여 변경하려면 클라이언트에 영향을 준다 -> OCP 위반 // 3번 private final DiscountPolicy discountPolicy = new RateDiscountPolicy(); } 이 코드를 보면 SOLID 원칙을 위반한 것을 볼 수 있다..