
RecursiveIteratorIterator::rewind 메소드는 Iterator의 rewind 메소드를 호출하여 원본 Iterator를 처음부터 시작하도록 강제합니다. 이는 RecursiveIteratorIterator가 Iterator를 재귀적으로 반복하기 때문에, 원본 Iterator가 현재 위치를 기억할 수 없기 때문입니다.
예를 들어, DirectoryIterator를 사용하여 디렉토리의 파일을 반복할 때, RecursiveIteratorIterator를 사용하여 디렉토리의 하위 디렉토리와 파일도 반복할 수 있습니다. 그러나 디렉토리의 하위 디렉토리와 파일을 반복할 때, 원본 DirectoryIterator가 현재 위치를 기억할 수 없기 때문에, RecursiveIteratorIterator는 원본 DirectoryIterator의 rewind 메소드를 호출하여 처음부터 시작하도록 강제합니다.
이러한 강제는 RecursiveIteratorIterator가 Iterator를 재귀적으로 반복할 수 있도록 해주며, 원본 Iterator가 현재 위치를 기억할 수 없을 때 원본 Iterator를 처음부터 시작하도록 해줍니다.
2025-03-20 23:36