
SplQueue::enqueue 메서드는 SplQueue의 capacity를 초과한 경우 true를 반환할 수 있는 이유는, enqueue 메서드는 요소를 추가한 후 true를 반환하는 것이 아니라, 요소를 추가하고 queue의 크기가 capacity를 초과한 경우 true를 반환하는 것입니다.
enqueue 메서드는 SplQueue의 capacity를 초과한 경우 Exception을 발생시키지 않는 이유는, SplQueue는 capacity를 초과한 경우에도 요소를 추가할 수 있도록 하기 위함입니다. enqueue 메서드는 요소를 추가할 수 없을 때만 Exception을 발생시킵니다.
예를 들어, SplQueue의 capacity가 10인 경우, enqueue 메서드를 호출하여 요소를 11개 추가하면 true를 반환합니다. 하지만 enqueue 메서드를 호출하여 요소를 12개 추가하면 Exception이 발생하지 않고 false를 반환하지도 않습니다. 이때 enqueue 메서드는 true를 반환하며, SplQueue의 capacity를 초과한 상태가 됩니다.
이러한 동작은 SplQueue의 내부 구현에 따라 달라질 수 있습니다. 하지만 일반적으로 SplQueue는 capacity를 초과한 경우에도 요소를 추가할 수 있도록 하기 때문에 Exception을 발생시키지 않고 true를 반환합니다.
2025-03-19 14:37