Iterable에서 독립 cursor를 받고 값마다 질문과 전진을 반복한다.
새 Iterator를 만든다
다음 원소 존재만 묻는다
현재 값을 반환하고 한 칸 간다
hasNext가 false다
핵심: hasNext를 여러 번 불러도 다음 next의 반환값은 달라지지 않아야 한다.