
APCUIterator::current와 APCUIterator::next의 차이점은 APCUIterator가 Iterator Pattern을 구현한 클래스일 때 중요합니다.
APCUIterator::current는 현재 아이템을 반환하는 데 사용되지만, APCUIterator::next는 다음 아이템을 반환하는 데 사용됩니다. 그러나 두 메서드의 차이점을 구분할 수 있는 실제 예제를 살펴보겠습니다.
예를 들어, 다음과 같은 APCUIterator를 구현한 클래스가 있다고 가정해 보겠습니다.
#hostingforum.kr
php
class MyIterator implements APCUIterator {
private $items = ['apple', 'banana', 'cherry'];
private $currentIndex = 0;
public function current() {
return $this->items[$this->currentIndex];
}
public function next() {
$this->currentIndex++;
}
public function valid() {
return $this->currentIndex < count($this->items);
}
}
이 APCUIterator를 사용하여 Iterator Pattern을 구현한 클래스를 만들면 다음과 같습니다.
#hostingforum.kr
php
class MyIteratorExample {
private $iterator;
public function __construct() {
$this->iterator = new MyIterator();
}
public function printItems() {
while ($this->iterator->valid()) {
echo $this->iterator->current() . "n";
$this->iterator->next();
}
}
}
이 예제에서, APCUIterator::current는 현재 아이템을 반환하고, APCUIterator::next는 다음 아이템을 반환합니다. APCUIterator::valid는 현재 아이템이 유효한지 여부를 반환합니다.
APCUIterator::current와 APCUIterator::next의 차이점을 이해하면 Iterator Pattern을 구현한 클래스를 만들 때 더 쉽게 아이템을 처리할 수 있습니다. APCUIterator::current는 현재 아이템을 반환하는 데 사용되며, APCUIterator::next는 다음 아이템을 반환하는 데 사용됩니다. APCUIterator::valid는 현재 아이템이 유효한지 여부를 반환합니다.
2025-08-10 08:26