museum.flyingDemo(flyingObject: )에는 Bird class를 inherit한 class가 들어와야 함으로 AirPlane을 class로 만들어 Bird Class를 inherit 해주었다.
fly 메서드를 AirPlane class에서 override하지 않으면 myPlane이 새처럼 날게 되는 오류가 있어서 fly 메서드를 override 해줌.
하지만 이렇게 override해서 fly메서드를 수정한다 하더라도 myPlane이 layEggs가 되버리는 오류가 생긴다.
그러면 우리는 fly를 Bird class에서 어떻게 분리하고, structure와 class가 모두 fly를 할 수 있게 만들 수 있을까?
=> protocol을 사용하면 된다
⭐️ super class가 inherit된 class에 protocol을 adopt할 경우
=> superClass, Protocol1, Protocol2 순으로 할당(콤마로 여러 프로토콜 adopt 가능)