Using existentials and generics Comparing existential and generic types스위프트 프로토콜들은 다양한 타입을 채택할 수 있는 기능과 특성을 정의할 수 있습니다예를들어 아래에 있는 것처럼 두 방식의 프로토콜을 볼 수 있습니다protocol Pollinator { func pollinate(_ plant: String)}//Pollinator protocol 채택하면 반드시 구현해야함struct Hummingbird: Pollinator { func pollinate(_ plant: String) { print("\(plant) pollinated by a hummingbird's bill.") }}//Pollinator p..