이터레이터(iterator) 패턴

Ryu·2023년 3월 31일
0

이터레이터(iterator) 패턴이란?

이터레이터(iterator) 패턴은 이터레이터(iterator)를 사용하여 컬렉션(collection - list, tuple, dictionary 등)의 요소들에 접근하는 디자인 패턴입니다.

이를 통해 여러가지 자료형의 구조와는 상관없이 이터레이터라는 하나의 인터페이스로 순회가 가능합니다.

예시 (자바스크립트)

const mp = new Map() 
mp.set('a', 1)
mp.set('b', 2)
mp.set('cccc', 3) 
const st = new Set() 
st.add(1)
st.add(2)
st.add(3) 
const a = []
for(let i = 0; i < 10; i++)a.push(i)

for(let aa of a) console.log(aa)
for(let a of mp) console.log(a)
for(let a of st) console.log(a) 
/* 
a, b, c 
[ 'a', 1 ]
[ 'b', 2 ]
[ 'c', 3 ]
1
2
3
*/

다른 자료구조인 set와 map 임에도 똑같은 for a of b 라는 이터레이터 프로토콜을 통해 순회하는 것을 볼 수 있습니다.

용어 정리

이터레이터 프로토콜
: 이터러블한 객체들을 순회할 때 쓰이는 규칙
이터러블한 객체
: 반복 가능한 객체로 배열을 일반화한 객체

profile
나는야 머찐 개발자

0개의 댓글