추상화 완료,abstract factory의 변형?