strategy 패턴 적용