728x90
반응형
팩토리 패턴은 객체를 생성하는 방식을 캡슐화하여 코드의 유지보수성과 확장성을 향상시키는 디자인 패턴 중 하나입니다. 이 글에서는 팩토리 패턴의 개념과 사용 방법을 소개하고, 실제 예제를 통해 팩토리 패턴이 어떻게 작동하는지 살펴보겠습니다.
팩토리 패턴이란?
- 팩토리 패턴은 객체를 생성하는 코드를 캡슐화하여 클라이언트 코드로부터 분리하는 디자인 패턴입니다. 객체의 생성과 조합을 추상화하여 유연성을 높이고 코드의 가독성을 개선합니다.
팩토리 패턴의 구성 요소:
- 추상 팩토리(Abstract Factory): 객체 생성을 위한 인터페이스를 정의합니다.
- 구체적 팩토리(Concrete Factory): 추상 팩토리를 구현하여 실제 객체를 생성합니다.
- 제품(Product): 생성될 객체의 공통 인터페이스를 정의합니다.
- 구체적 제품(Concrete Product): 제품 인터페이스를 구현하여 실제 객체를 생성합니다.
728x90
팩토리 패턴 예제:
- 다음은 팩토리 패턴을 사용하여 여러 종류의 도형을 생성하는 예제입니다.
// 제품 인터페이스
interface Shape {
void draw();
}
// 구체적 제품 클래스
class Circle implements Shape {
public void draw() {
System.out.println("원을 그립니다.");
}
}
// 구체적 제품 클래스
class Rectangle implements Shape {
public void draw() {
System.out.println("사각형을 그립니다.");
}
}
// 팩토리 인터페이스
interface ShapeFactory {
Shape createShape();
}
// 구체적 팩토리 클래스
class CircleFactory implements ShapeFactory {
public Shape createShape() {
return new Circle();
}
}
// 구체적 팩토리 클래스
class RectangleFactory implements ShapeFactory {
public Shape createShape() {
return new Rectangle();
}
}
팩토리 패턴 사용 예제:
- 다음은 팩토리 패턴을 사용하여 도형을 생성하고 그리는 예제입니다.
public class Main {
public static void main(String[] args) {
ShapeFactory circleFactory = new CircleFactory();
Shape circle = circleFactory.createShape();
circle.draw(); // 원을 그립니다.
ShapeFactory rectangleFactory = new RectangleFactory();
Shape rectangle = rectangleFactory.createShape();
rectangle.draw(); // 사각형을 그립니다.
}
}
팩토리 패턴은 객체 생성 코드를 캡슐화하여 유지보수성과 확장성을 향상시키는데 도움을 줍니다.
반응형
728x90
반응형
'Computing' 카테고리의 다른 글
| Git 기본 개념과 사용법 익히기 (0) | 2024.03.09 |
|---|---|
| Django로 백엔드 개발하기 (0) | 2024.03.09 |
| 스택(Stack) 자료구조 이해하기 (0) | 2024.03.09 |
| 웹 개발에서의 HTTP 요청과 응답 이해하기 (0) | 2024.03.09 |
| MSA 환경 (0) | 2023.02.23 |