diff --git a/src/main/java/org/springframework/samples/petclinic/proxy/Cash.java b/src/main/java/org/springframework/samples/petclinic/proxy/Cash.java new file mode 100644 index 000000000..cb11877b8 --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/proxy/Cash.java @@ -0,0 +1,11 @@ +package org.springframework.samples.petclinic.proxy; + +public class Cash implements Payment { + + @Override + public void pay(int amount) { + System.out.println(amount + "현금 결재" ); + + } +} + diff --git a/src/main/java/org/springframework/samples/petclinic/proxy/CreditCard.java b/src/main/java/org/springframework/samples/petclinic/proxy/CreditCard.java new file mode 100644 index 000000000..1f2798ee8 --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/proxy/CreditCard.java @@ -0,0 +1,14 @@ +package org.springframework.samples.petclinic.proxy; + +public class CreditCard implements Payment { + Payment cash = new Cash(); + + @Override + public void pay(int amount) { + if (amount > 100) { + System.out.println(amount + " 신용 카드"); + } else { + cash.pay(amount); + } + } +} diff --git a/src/main/java/org/springframework/samples/petclinic/proxy/Payment.java b/src/main/java/org/springframework/samples/petclinic/proxy/Payment.java new file mode 100644 index 000000000..9960c603b --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/proxy/Payment.java @@ -0,0 +1,6 @@ +package org.springframework.samples.petclinic.proxy; + +public interface Payment { + + void pay(int amount); +} diff --git a/src/main/java/org/springframework/samples/petclinic/proxy/Store.java b/src/main/java/org/springframework/samples/petclinic/proxy/Store.java new file mode 100644 index 000000000..aa5600ac8 --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/proxy/Store.java @@ -0,0 +1,14 @@ +package org.springframework.samples.petclinic.proxy; + +public class Store { + + Payment payment; + + public Store(Payment payment) { + this.payment = payment; + } + + public void buySomething() { + payment.pay(100); + } +}