🔍 추상 팩토리 패턴지난 글에서는 팩토리 메서드 패턴에 대해 알아봤다.추상 팩토리 패턴은 팩토리 메서드 패턴과 유사해보일 수 있으나, 추상 팩토리 패턴의 경우 연관된 객체들을 모아 관리한다는 것에 큰 차이가 있다. ▶️ 추상 팩토리 패턴이란?추상 팩토리 패턴은 연관된 객체들을 생성할 때 하나의 팩토리 클래스에서 생성을 한다는 특징이 있다. 예를 들어, 자동차의 부품을 생성하는 추상 팩토리 패턴을 만든다고 하자. 자동차 부품에 타이어와 엔진이 있다고 할 때, 각 부품에 대한 객체를 다른 팩토리 메서드에서 생성하는 게 아니라 동일한 팩토리 메서드에서 관리해야 한다. 타이어와 엔진은 둘 다 자동차 부품으로 연관된 객체들이기 때문이다. 🔑 예제 코드각각의 차 종류에 대해 자동차 부품 객체를 생성하는 추상..
🔍 팩토리 메서드 패턴지난 글에서는 심플 팩토리에 대해 알아봤다. 심플 팩토리는 유지보수성과 확장성에 대한 장점이 존재했지만, OCP 원칙에 위배된다는 단점이 존재했다. 이런 한계를 극복한 디자인 패턴 중 하나가 팩토리 메서드(Factory Method) 패턴이다. ▶️ 팩토리 메서드 패턴이란?팩토리 메서드 패턴은 생성 패턴 중 하나로 객체 생성을 위한 메서드를 클래스에서 직접 구현하는 게 아니라, 서브클래스에서 구현하도록 위임하는 디자인 패턴이다.즉, 팩토리 메서드를 추상화하여, 구체적인 객체 생성 로직을 서브클래스에 맡기는 패턴이다. 이때 클라이언트는 객체 생성 방식에 대해 알지 못하며, 단지 팩토리 메서드를 호출해 객체 생성을 요청한다. 각 구현클래스의 객체 생성을 서브클래스에서 하기 때문에 새..
🔍 심플 팩토리 (Simple Factory)▶️ 심플 팩토리란?심플 팩토리는 가장 단순한 형태의 Factory 패턴으로, 객체 생성 역할을 전담하는 하나의 클래스를 만들어서 객체 생성 로직을 한 곳에서 관리하는 디자인 패턴이다.즉, 클라이언트 코드에서 객체를 생성(new)하는 대신, 공장 클래스(Factory)를 통해 객체를 생성하고, 공장 클래스는 요청을 받은 객체를 생성해 반환하는 것이다. 심플 팩토리는 다양한 객체 생성 방식 중 가장 간단한 형태이다. 🔑 예제 코드▶️ 심플 팩토리 적용 전(before)자동차(Car) 객체를 생성하는 팩토리 클래스 예제를 알아보자.공통 인터페이스인 Car와 구현체인 SUV, Truck을 만들었다.// Car 인터페이스public interface Car { ..