🔄 이터레이터 패턴: 자료구조를 순회하는 스마트한 방법
프로그래밍을 하다 보면 데이터를 순회해야 할 때가 많다. 배열, 리스트, 맵(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 |