구조 #pragma once #include class IProduct { public: virtual void Operation() = 0; }; class IAbstractFactory { public: virtual IProduct* CreateProduct() = 0; }; class ProductA : public IProduct { public: void Operation() override { std::cout Operation(); system("pause"); return 0; } 구조의 생성을 수행하는 팩토리 클래스(AbstractFactory)를 정의하여 클라이언트가 팩토리 클래스의 인터페이스(CreateProduct())를 통해 구조를 생성할 수 있게 한다. 추상 팩토리 구조의 생성..