18. 반복자 패턴(Iterator Pattern) 프로그램을 하다 보면 개체들을 보관하는 컬렉션 개체를 사용하는 것은 매우 흔한 일입니다. 그리고, 컬렉션의 안전성을 유지하기 위해서는 개체를 보관하는 공간을 직접적으로 노출시키지 않게 됩니다. 하지만 사용자의 경우 컬렉션에 보관된 개체들의 정보를 검색할 수 있어야 하며 경우에 따라서는 보관된 개체들에 대해 반복된 작업을 수행하기를 원하는 경우가 있습니다. 반복자 패턴은 컬렉션 개체의 내부 저장 공간에 대해 직접적으로 노출하는 것을 막으면서 보관된 개체들에 대해 반복된 작업을 수행할 수 있는 방법을 제공하고자 할 때 사용하는 패턴입니다. 반복자 패턴에서는 컬렉션을 반복 순회하면서 작업을 수행할 필요가 있을 때 순회할 수 있는 도구 개체를 정의합니다. 그리..