1. 반복자 패턴이란? 의도 내부 표현부를 노출하지 않고 어떤 집합 객체에 속한 원소들을 순차적으로 접근할 수 있는 방법을 제공 집합 객체를 순회하는 클라이언트 코드를 변경하지 않고 다양한 순회 방법을 제공할 수 있다. 사용 시기 객체 내부 표현 방식을 모르고도 집합 객체의 각 원소들에 접근하고 싶을 때 집합 객체를 순회하는 다양한 방법을 지원하고 싶을 때 서로 다른 집합 객체 구조에 대해서도 동일한 방법으로 순회하고 싶을 때 구조 Iterator : 원소를 접근하고 순회하는 데 필요한 인터페이스를 제공 ConcreteIterator : Iterator에 정의된 인터페이스를 구현하는 클래스 Aggregate : Iterator 객체를 생성하는 인터페이스를 정의 ConcreteAggregate : 해당하는..