Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

Iterator 패턴

Iterator 패턴은 집합객체의 원소를 접근하는데 있어서, 의미가 모호해질 수 있는 순환문을 사용하는 대신에, Iterator 객체를 이용하도록 만들어진 디자인 패턴이다. Iterator 객체는 집합객체의 원소에 접근하는 방법을 숨긴다.

Iterator 객체는 보통 다음과 같은 메서드를 포함한다.
interface Iterator
{
	function next();	
	function hasNext();
	function begin();
	function end();
};

예제

Iterator를 설명하기 위한 가장 좋은 예제는 배열추상이라고 생각된다. 리스트등을 예로 할 수도 있겠지만 귀찮아서 배열로 선택했다.
/* iterator.h */
template<class T>
class Iterator
{
	public:
		virtual bool hasNext() = 0;
		virtual T* next() = 0; 
		virtual T* begin() = 0; 
		virtual T* end() = 0;
};

... 계속