반복자 패턴
- 행위 패턴
- 본질은 기반이 되는 표현을 노출시키지 않고 연속적으로 객체 요소에 접근하는 방법을 제공하는 것
- 접근기능과 자료구조를 분리시켜서 객체화한다.
반복자 패턴 장단점
장점
- 응집도를 높여준다.
- 집합체 내에서 어떤 식으로 일이 처리되는지 모르는 상태로, 모든 항목에 접근 할 수 있다.
단점
- 단순한 순회를 구현하는 경우 복잡도가 증가한다.
iterator인터페이스
- hasNext(), next() 등을 통해 현재 위치를 알 수 있고 다음 요소가 있는지를 판단하는 기능 등을 제공한다.
- 다른 객체, 다른 종류의 컬렛션을 순회하게 해 준다.
- hashNext(), next()메소드를 오버라이드 해야 한다.
iterable인터페이스
- Iterable 인터페이스를 구현한 클래스는 순회가 가능하다
- interable인터페이스를 implement한 객체는 iterator()를 사용하여 for-each loop를 사용할 수 있다.
- iterator()를 오버라이드 해야 한다.