팩토리 패턴은 쉽게 말해 객체를 생성하는 공장이다.
package com.example.designpattern;
import java.io.IOException;
public class FactoryPattern {
public static void main(String[] args) throws IOException {
AnimalFactory animalFactory = new AnimalFactory();
Animal cat = animalFactory.createAnimal("Cat");
Animal dog = animalFactory.createAnimal("Dog");
cat.speak();
dog.speak();
}
}
객체 생성에 앞서 공장을 만들고 객체 생성 단계에 들어간다.
예시 코드를 통해 뽀개보자.
class Animal{
void speak(){
}
Animal(){
}
}
class Cat extends Animal{
void speak(){
System.out.println("meow");
}
}
class Dog extends Animal{
void speak(){
System.out.println("bark");
}
}
class AnimalFactory{
Animal createAnimal(String animal){
if(animal.equals("Cat")){
return new Cat();
} else if (animal.equals("Dog")) {
return new Dog();
}
return null;
}
}
객체 생성을 객체 생성 공장에게 부탁한다..!
왜냐하면 그것이 팩토리 패턴이니까.
섹시 그자체