Iterator 계약은 커서·끝·변경 정책을 명시한다

순회 구현마다 같은 질문에 답해야 향상된 for문과 소비 코드가 예측 가능해집니다.

질문선택검증
커서 의미다음 반환 위치중복·누락 없음
hasNext상태 변경 없음반복 호출 동일
끝 next예외NoSuchElementException
구조 변경금지·fail-fast정책 일관
재순회새 Iterator독립 cursor

핵심: Iterator는 일회성이므로 새 순회에는 iterator()를 다시 호출합니다.