JAVA 자바 디자인 패턴 : 팩토리 패턴, 장점 단점, 예시
2024. 4. 16. 18:34ㆍ코딩/코딩 테스트
JAVA 자바 디자인 패턴 : 팩토리 패턴
팩토리 패턴(Factory Pattern)은 객체 지향 프로그래밍에서 객체의 생성을 처리하는 디자인 패턴 중 하나입니다. 이 패턴은 객체 생성 과정의 복잡성을 감소시키고, 클라이언트 코드와 객체 생성 사이의 의존성을 줄이는 데 목적이 있습니다. 팩토리 패턴은 크게 두 종류로 나뉩니다: 팩토리 메서드 패턴(Factory Method Pattern)과 추상 팩토리 패턴(Abstract Factory Pattern).
팩토리 패턴 예시
예를 들어, 다양한 타입의 차량을 생성하는 간단한 팩토리 메서드 패턴을 구현해 보겠습니다.
abstract class Vehicle {
abstract void startEngine();
}
class Car extends Vehicle {
void startEngine() {
System.out.println("Car engine starts.");
}
}
class Truck extends Vehicle {
void startEngine() {
System.out.println("Truck engine starts.");
}
}
abstract class VehicleFactory {
abstract Vehicle createVehicle(String type);
}
class ConcreteVehicleFactory extends VehicleFactory {
Vehicle createVehicle(String type) {
if (type.equals("car")) {
return new Car();
} else if (type.equals("truck")) {
return new Truck();
}
return null;
}
}
public class Main {
public static void main(String[] args) {
VehicleFactory factory = new ConcreteVehicleFactory();
Vehicle myVehicle = factory.createVehicle("car");
myVehicle.startEngine();
}
}
위 코드에서 VehicleFactory는 차량을 생성하는 추상 팩토리이며, ConcreteVehicleFactory는 이 인터페이스를 구현하여 실제 Vehicle 객체를 생성합니다. 이 패턴을 사용하면, 새로운 차량 타입이 추가되어도 팩토리 클래스만 수정하면 되므로 기존 코드에는 영향을 주지 않습니다.
팩토리 패턴의 장점
- 생성 로직의 분리: 객체 생성과 비즈니스 로직이 분리되어 코드 관리가 용이해집니다.
- 코드의 유연성: 새로운 객체 타입을 추가하거나 변경할 때 기존 코드를 변경하지 않아도 되므로, 확장성이 좋습니다.
- 재사용성 향상: 동일한 생성 패턴을 여러 곳에서 재사용할 수 있습니다.
팩토리 패턴의 단점
- 클래스 수 증가: 각각의 새로운 객체 타입마다 새로운 팩토리 클래스가 필요할 수 있어 시스템의 복잡성이 증가할 수 있습니다.
- 인터페이스 의존성: 클라이언트 코드가 팩토리 인터페이스에 의존하게 되어, 인터페이스 설계가 중요해집니다.
JAVA 자바 디자인 패턴 : 팩토리 패턴, 장점 단점, 예시
'코딩 > 코딩 테스트' 카테고리의 다른 글
JAVA 자바 디자인 패턴 : 프록시 패턴, 이터레이터 패턴, 장점 단점, 예시 (0) | 2024.04.16 |
---|---|
JAVA 자바 디자인 패턴 : 전략 패턴, 옵저버 패턴, 장점 단점, 예시 (0) | 2024.04.16 |
JAVA 자바 디자인 패턴 : 싱글톤 패턴, 장단점, 의존성 주입, 예시 (0) | 2024.04.16 |
자바 JAVA 코딩테스트 util heap 선언 및 사용법 (0) | 2024.04.12 |
자바 JAVA 코딩테스트 util 콜렉션 구현체 : list, map, set, stack, queue 정리 (1) | 2024.04.12 |