Swift 언어
제네릭과 타입 소거
getNext()와 hasNext()를 가진 Iterator 프로토콜을 Int 전용에서 제네릭(associatedtype Element)으로 바꾸려 합니다. 바꾼 뒤 [Iterator] 배열을 만들려고 하니 컴파일이 막힙니다. 왜 그런가요?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
getNext()와 hasNext()를 가진 Iterator 프로토콜을 Int 전용에서 제네릭(associatedtype Element)으로 바꾸려 합니다. 바꾼 뒤 [Iterator] 배열을 만들려고 하니 컴파일이 막힙니다. 왜 그런가요?
associatedtype이 있는 프로토콜은 Element가 채워지기 전까지 완성된 타입이 아니라 배열 원소 타입으로 바로 쓸 수 없고, any Iterator로 담아도 Element를 쓰는 멤버는 제한된다.
Swift 언어주관식심화
func make() -> some Shape와 func make() -> any Shape는 호출자 입장에서 무엇이 다른가요?
#generic #any
Swift 언어주관식기초
Any, AnyObject, NSObject는 각각 무엇을 담을 수 있나요?
#any
Swift 언어주관식기초
코드 리뷰 중 func larger(_ a: Int, _ b: Int) -> Int, larger(_ a: Double, _ b: Double) ->…
#any
아키텍처주관식심화
인증 서버, 상품 서버, 결제 서버용으로 비슷하지만 조금씩 다른 네트워크 클라이언트가 세 개 있습니다(헤더, 인코딩, 에러 형식이 다름). 이를 프로토콜로…
#generic