Iterator Pattern
내부 구조를 노출하지 않으면서 어떤 집합 객체에 속한 원소들을 순차적으로 접근할 수 있는 방법을 제공한다. Motivation 여러 종류의 자료구조(예: 배열, 리스트)에 대해 그 내부 요소들을 하나씩 순차적으로 처리해야 하는 상황에서, 이 요소들을 순차적으로 접근할 수 있는 공통의 방법을 제공하고 싶다고 하자. 이터레이터 패턴을 사용하면 집합체의 내부 구조를 몰라도, 집합체의 모든 요소에 접근할 수 있게 해준다. Applicability 객체 내부 표현 방식을 모르고도 집합 객체의 각 원소들에 접근하고 싶을 때 집합 객체를 순회하는 다양한 방법을 지원하고 싶을 때 서로 다른 집합 객체 구조에 대해서도 동일한 방법으로 순회하고 싶을 때 Structure Iterator: 원소를 접근하고 순회하는 데 필요한 인터페이스를 제공한다....