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