https://docs.swift.org/swift-book/LanguageGuide/Protocols.html
protocol MyProtocol {
}
<aside> 💡 swift에서 struct는 상속을 사용하지 못하지만 protocol은 사용할 수 있다.
</aside>
프로토콜은 구현(Implementation)을 상대방에게 맡긴다.
기본적으로 프로토콜에 있는 함수는 꼭 구현해야하지만, optional을 통해 선택가능하게 할 수 있다.
protocol은 struct에서 사용가능하다.
protocol은 데이터 타입으로 사용가능하다.
객체에게 "특정 자격을 준다"라는 의미로 이해해보자
다중 상속 채택이 가능하다. can multiple.
interface와 살짝 비슷한데? 🤔
<aside> 💡 inheritance의 문제점(?)은 상속받는 자식클래스가 부모의 모든 것을 물려받기 때문에, 사용하고 싶지 않은 기능도 사용(접근)할 수 있다는 점이다.
</aside>