
IteratorAggregate::getIterator 메서드는 IteratorAggregate 인터페이스를 구현하는 클래스에서 Iterator를 얻는 데 사용할 수 있습니다. 이 메서드는 Iterator를 반환하며, 반환되는 Iterator는 Traversable 인터페이스를 구현합니다.
Traversable 인터페이스는 ArrayIterator, CachingIterator, RecursiveArrayIterator, RecursiveCachingIterator와 같은 다양한 Iterator의 부모 인터페이스입니다.
따라서 IteratorAggregate::getIterator 메서드를 호출하여 반환되는 Iterator는 Traversable 인터페이스를 구현하는 Iterator 중 하나를 반환할 수 있습니다.
예를 들어, 다음 코드는 IteratorAggregate 인터페이스를 구현하는 클래스에서 IteratorAggregate::getIterator 메서드를 호출하여 Iterator를 얻는 방법을 보여줍니다.
#hostingforum.kr
php
class MyIteratorAggregate implements IteratorAggregate {
private $data;
public function __construct(array $data) {
$this->data = $data;
}
public function getIterator() {
return new ArrayIterator($this->data);
}
}
$data = [1, 2, 3, 4, 5];
$iteratorAggregate = new MyIteratorAggregate($data);
$iterator = $iteratorAggregate->getIterator();
foreach ($iterator as $value) {
echo $value . "n";
}
이 예제에서는 MyIteratorAggregate 클래스가 IteratorAggregate 인터페이스를 구현하고, getIterator 메서드를 호출하여 ArrayIterator를 반환합니다. ArrayIterator는 Traversable 인터페이스를 구현하는 Iterator 중 하나입니다.
2025-05-10 04:28