Daily iOS
Swift 언어

제네릭과 타입 소거

getNext()와 hasNext()를 가진 Iterator 프로토콜을 Int 전용에서 제네릭(associatedtype Element)으로 바꾸려 합니다. 바꾼 뒤 [Iterator] 배열을 만들려고 하니 컴파일이 막힙니다. 왜 그런가요?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

associatedtype이 있는 프로토콜은 Element가 채워지기 전까지 완성된 타입이 아니라 배열 원소 타입으로 바로 쓸 수 없고, any Iterator로 담아도 Element를 쓰는 멤버는 제한된다.

받은 질문 공유