compile time
에 가능하다.run time
에만 가능하다. (as? , as!)class 는 상속을 통해서 다형성을 구현할 수 있다. (프로토콜도 가능)
struct, enum 은 프로토콜을 통해 다형성을 구현할 수 있다.
[x] 프로토콜을 사용할 수 있는 타입은? 위 셋 말고 또 없나?
The protocol can then be adopted by a class, structure, or enumeration to provide an actual implementation of those requirements.