Iterator는 Rust 코딩중에 아주 많이 사용하는 트레잇이다




Iterator는 기본적으로 수많은 provided method를 제공하고


이를 이용해서 반복자를 탐색하거나 새로운 반복자로 만들수있다






(*) enumerate의 예제



그리고 최종적으로는 `next` 메소드를 사용해서 원소를 꺼내는데 보통 next를 직접 쓰기보단 `for` 문을 사용한다


for문은 `IntoIterator`를 구현한 객체의 원소를 하나하나 꺼내주는데 여기서 IntoIterator는 반복자와 반복자는 아니지만 반복자로 변환될수있는 타입들이 구현한다





(*) &Vec은 Iterator를 구현하진 않지만 IntoIterator를 구현하기 때문에 for문에 넣을수있다