CS

이터레이터 패턴이란 무엇인가?

Shark_상어 2023. 1. 26. 17:55
728x90

이터레이터 패턴

이터레이터 패턴(iterator pattern)은 이터레이터(iterator)를 사용하여 컬렉션(collection)의 요소들에 접근하는 디자인 패턴이다.

순회 할수 있는 여러 가지 자료형의 구조와는 상관 없이 이터레이터라는 하나의 인터페이스로 순회가 가능하다.

const mp = new Map();
mp.set('a', 1);
mp.set('b', 2);
mp.set('c', 3);

const st = new Set();

st.add(1);
st.add(2);
st.add(3);

for (let a of mp) console.log(a);
for (let b of mp) console.log(b);

/*
['a', 1]
['b', 2]
['c', 3]

1
2
3
*/

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

이터레이터 프로토콜: 이터러블한 객체들을 순회할 때 쓰이는 규칙

이터러블한 객체: 반복 가능한 객체로 배열을 일반화한 객체

728x90