팩토리 패턴 객체를 사용하는 측에서 바로 생성하지 않고 중간에 생성을 전담하는 객체를 두고 생성하여 결합도를 낮춘다. 예제 동물 카페(AnimalCafe)에서 동물을 만날 수 있는데 현재는 토끼만 만날 수 있다. interface Animal { /* ... */ } class Rabbit implements Animal { /* ... */ } class AnimalCafe { public Animal meet() { Animal animal = new Rabbit(); // 기타 로직(등록, 지불 등) return animal; } }위 코드에서 meet() 클래스는 고객에게 제공할 동물을 선택하고, 제공하기 위해서 기타 로직을 수행한다. 이후 추가 케이스로 강아지(Puppy)가 추가되었고 카페에선 ..
implementation 'com.h2database:h2:1.4.200' public class App { public static void main(String[] args) throws Exception { final String[] H2_ARGS = new String[]{ "-web" , "-webPort", "9091" , "-webAdminPassword", "" , "-browser" , "-tcp" , "-tcpAllowOthers" , "-tcpPort", "9090" , "-key", "test", "test" }; Server h2TcpServer = Server.createTcpServer(H2_ARGS); Server h2WebServer = Server.crea..