[designPatten] Iterator(이터레이터) by java, python, javascript

2018. 12. 30. 21:56cs/디자인 패턴

Iterator 


각언어별로 편하게 사용할 수 있게 기본기능을 제공해주지만 직접 구현하는 것 만큼 좋은 공부가 없다고 생각하여 직접 구현한 것도 있고 파이썬의 경우에는 가볍게 제공하는 기능이 있어서 이를 사용하였다. 


그럼 설명을 시작하겠다.


그리고 Iterator에서 조금 더 진화한 Generator라는 기능도 있는데 이는 다음글에서 적어보겠다. 


일반적으로 배열을 위해서 반복문을 사용하며


for(int i = 0; i < arr.length; i++){

arr[i];

}


위와 같은 형태나 while 등을 사용합니다. i는 1씩 증가하면서 조건에 맞추어 반복 하는 것이 일반적인 반복문의 기능입니다. 

반복문에 사용하고 있는 i나 조건들을 사용하는 기능을 추상화해서 일반화한 것이 바로 Iterator입니다. 


그럼 우선 코드 부터 봅시다.