👣 문제 상황 객체 생성 부분이 변경 가능성이 농후한 경우, 전체 소스 코드를 살펴보지 않기 위해 객체 생성 부분만을 따로 떼어내야 할 필요가 있을 때 목적: 객체 생성 부분 유연성 향상 👣 해결 방법 abstract class Coffee { public abstract int getPrice(); } class Latte extends Coffee { private int price = 6000; public int getPrice() { return this.price; } } class Americano extends Coffee { private int price = 5000; public int getPrice() { return this.price; } } class CoffeeFactory..