팩토리 메서드 패턴은 무엇인가?
팩토리 메서드 패턴 (Factory Method)
--
팩토리 메서드 패턴은
상속 관계에 있는 두 클래스에서
부모 클래스에는 중요한 뼈대를 정의하고, 자식 클래스에는 객체 생성에 관한 구체적인 내용을 정의하는 패턴으로
부모 클래스에서는 객체 생성 방식에 대해 전혀 알 필요 없이 자식 클래스에게 객체 생성을 맡겨서
구체적인 클래스 타입을 알 필요 없이 객체를 생성할 수 있게 된다.
이를 통해 유연성과 유지 보수성이 증가한다.
예시 코드
// (부모 클래스) 추상 클래스 또는 인터페이스를 사용한다.
abstract class Car {
protected String name;
public String getName() {
return name;
}
}
// (자식 클래스) 부모 클래스의 구체적인 객체 구현 클래스
class CarA extends Car {
public CarA() {
name = "TICO";
}
}
class CarA extends Car {
public CarA() {
name = "AVANTE";
}
}
// (팩토리 클래스) 원하는 객체를 골라 유동적으로 객체 반환
// 해당 클래스를 통해 내부적으로 어떤 클래스가 생성되는지 신경 쓰지 않고 원하는 객체 생성 가능
class CarFactory {
public static Car createCar(String type) {
if(type.equals("TICO")) {
return new CarA();
} else if (type.equals("AVANTE")) {
return new CarB();
} else {
throw new IllegalArgumentException("잘못된 타입 입력");
}
}
}
// 클라이언트 코드 (메인)
public class Main {
public static void main(String[] args) {
Car car = CarFactory.createCar("AVANTE");
car.getName(); // AVANTE 출력
}
}
--
'Terminology' 카테고리의 다른 글
웹소켓 (WebSocket) (0) | 2024.11.25 |
---|---|
SOP와 CORS (+ Origin) (0) | 2024.11.06 |
[디자인 패턴] 싱글톤 패턴 (Singleton) (0) | 2024.10.30 |
디자인 패턴 (1) | 2024.10.28 |
의존성 주입 (DI, Dependency Injection) (+ IoC, DIP) (0) | 2024.10.27 |