Iterator 패턴이란?자료구조의 내부 구조를 몰라도요소를 하나씩 꺼내서 순회(iterate)할 수 있게 해주는 디자인 패턴이다. 왜 Iterator 패턴이 필요할까? 그냥 for문 쓰면 안되나??물론 가능하다. 하지만 아래 문제점이 있다:배열, 리스트, 링크드리스트 등 구조마다 for문 다르게 짜야 됨여러 자료구조를 한 번에 순회하려면 코드 중복이 생김나중에 자료구조가 바뀌면 for문도 고쳐야 함➡ 유지보수성, 확장성, 재사용성 부족 Iterator 패턴의 핵심 아이디어"요소 꺼내는 방식을 객체로 분리"→ 사용자는 next()와 hasNext()만 알면 끝!Iterator it = bookShelf.iterator();while (it.hasNext()) { Book b = (Book) it.n..