Strategy 

다양한 알고리즘이 존재하는 각각을 별도의 클래스로 캡슐화하고 클라이언트에 영향을 주지 않고 독립적으로 알고리즘을 변경