문제 프로그래밍을 하다보면 반복문을 많이 사용한다. 그러나 반복문이 사용되는 목적은 다양한다. 일정 횟수를 반복하는 경우도 있고 탐색을 위해 반복하는 경우도 있다. 또는 모든 요소를 수정하는 것이 목적일 수 있다. 이때 반복의 대상이 어떠냐에 따라 다양한 방식으로 반복문을 만들어야 한다. 그러면 우리는 이런 생각을 할 수 있다. 어떻게 하면 반복문을 쉽게 만들 수 있을까? 이터레이터 패턴이란? 위와 같은 문제를 해결할 수 있는 디자인 패턴이 바로 이터레이터(iterator) 패턴이다. 이터레이터 패턴은 반복에 사용되는 요소를 추상화한 후 이를 일반화한 패턴이다. 예를 들어 다음과 같은 코드가 주어진다고 해보자. for(int i = 0; i < 10; i++) { ... } 여기서 반복을 제어하는 변수는..