Iterator 패턴은 접근 기능과 자료구조를 분리시켜서 객체화하는 패턴입니다. 즉, 서로 다른 구조를 가지고 있는 저장 객체에 동일한 인터페이스로 접근할 수 있도록 도와주는 패턴입니다. 구조 Iterator 집합체의 요소들을 순서대로 검색하기 위한 인터페이스를 정의합니다. ConcreteIterator Iterator 인터페이스를 구현합니다. Aggregate 여러 요소들로 이루어져 있는 집합체입니다. ConcreteAggregate Aggregate 인터페이스를 구현합니다. 활용 상황 정의한 방법과 다른 방법으로 요소들을 순회하고자 할때 유용합니다. 동일한 리스트에 대해서 하나 이상의 순회방법을 정의하고 싶을때 유용합니다. 객체 내부 표현 방식을 모르고도 집합체의 요소에 접근하고 싶을때 유용합니다. ..