TemplateMethodPattern (Head First Design Patterns 참조)