
FilterIterator::__construct 함수는 FilterIterator 클래스의 생성자 역할을 하며, parent::__construct($iterator)가 호출되는 이유는 IteratorAggregate 인터페이스를 구현하기 위함입니다.
IteratorAggregate 인터페이스는 getIterator 메소드를 구현하여 Iterator를 반환해야 하며, FilterIterator 클래스는 IteratorAggregate 인터페이스를 구현하기 위해 parent::__construct($iterator)가 호출됩니다.
parent::__construct($iterator)가 호출된 후, FilterIterator 클래스에서 추가로 처리되는 내용은 다음과 같습니다.
- $iterator 변수를 private $iterator 변수에 저장합니다.
- $iterator 변수의 isValid() 메소드를 오버라이딩하여 필터링 로직을 구현합니다.
- $iterator 변수의 rewind() 메소드를 오버라이딩하여 필터링 로직을 구현합니다.
이러한 처리를 통해 FilterIterator 클래스는 IteratorAggregate 인터페이스를 구현하여 Iterator를 반환할 수 있으며, 필터링 로직을 구현할 수 있습니다.
2025-03-27 19:51