public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } } Person이라는 객체가 외부 API(검증된)라고 생각해 보자 그 기능의 일부를 내가 만든 시스템에서 재정의한 이름(메서드)으로 사용하려고 한다 인..
강의명 : Java 디자인 패턴
제품을 추상화 한 Product 인터페이스 public interface Product { void use(); } 제품 중 하나인 IDCard 클래스 public class IDCard implements Product{ private final String owner; public IDCard(String owner) { this.owner = owner; } @Override public void use() { System.out.println(owner + "님의 카드를 사용합니다."); } } Factory 인터페이스 public interface Factory { Product createProduct(String name); } 구체적인 객체를 생성해주는 IDCardFactory public..