CS 공부

# 이터레이터(iterator) 패턴

박태정 입니다. 2025. 2. 20. 13:19
반응형

🔄 이터레이터 패턴: 자료구조를 순회하는 스마트한 방법

프로그래밍을 하다 보면 데이터를 순회해야 할 때가 많다. 배열, 리스트, 맵(map) 같은 자료구조에서 요소들을 하나씩 가져와서 처리하는 작업은 흔하다. 그런데 각기 다른 자료구조를 똑같은 방식으로 순회할 수 있다면 얼마나 편리할까? 🤔

🧐 이터레이터 패턴이란?

이터레이터 패턴(Iterator Pattern)은 이터레이터(iterator)를 이용해 컨테이너(container)의 요소들에 접근하는 디자인 패턴이다.
컨테이너란 동일한 요소들을 담아두는 집합을 말하는데, 대표적으로 배열, 리스트, 맵 등이 있다.

이터레이터 패턴을 사용하면 내부의 자료구조가 다르더라도 통일된 방식으로 요소들을 순회할 수 있다는 장점이 있다. 예를 들어, 배열과 연결 리스트는 요소를 저장하는 방식이 다르지만, 이터레이터를 사용하면 이를 신경 쓰지 않고 같은 방식으로 데이터를 처리할 수 있다.

🏗️ 왜 이터레이터 패턴이 필요할까?

처음에는 "굳이 이터레이터를 안 쓰고 그냥 for 문을 사용하면 되는 거 아닌가?"라는 생각이 들었다.
하지만 map(맵) 자료구조를 다룰 때 이터레이터가 없으면 불편한 점이 많다.

맵은 key-value 형태로 데이터를 저장하는데, 단순한 for 문으로 접근할 수 없다.
먼저 key가 있는지 확인한 후, 해당 key에 연결된 value를 가져와야 한다.
이 과정이 반복되면 코드가 복잡해지고 유지보수도 어려워진다.

이터레이터를 사용하면 맵이든 리스트든 같은 인터페이스로 순회할 수 있으므로 코드의 일관성이 높아진다.
결국, 이터레이터 패턴은 다양한 자료구조를 효율적으로 순회할 수 있도록 만들어주는 중요한 개념이라는 걸 깨닫게 되었다.

반응형

'CS 공부' 카테고리의 다른 글

# 전략 패턴  (0) 2025.02.20
# 의존성 주입과 의존관계 역전 원칙  (0) 2025.02.20
# 팩토리 패턴  (1) 2025.02.20
# 싱글톤 패턴 구현 방법 7가지  (0) 2025.02.20
# 싱글톤 패턴  (0) 2025.02.17