스위프트 제네릭1 제네릭 (제네릭 제약, 제네릭 확장, 제네릭 함수와 오버로딩) 타입 제약 제네릭 함수와 타입을 사용할 때, 특정 클래스의 하위 클래스나 특정 프로토콜을 준수하는 타입만 받을 수 있게 제약할 수 있다. 프로토콜 제약 두 개의 값을 파라미터로 받을 때, 값이 같으면 true 또는 값이 다르면 false를 반환하는 함수를 제네릭으로 선언한다면? func isSameValues(_ a: T, _ b: T) -> Bool { return a == b // Binary operator '==' cannot be applied to two 'T' operands } 에러가 발생한다. 이유는, " == " 이라는 연산자는 a와 b의 타입이 Equatable 이라는 프로토콜을 준수할 경우에만 사용할 수 있기 때문이다. 따라서 아래와 같이 타입 파라미터가 " Equatable " 프.. 2024. 4. 16. 이전 1 다음