프로토콜은 특정 역할을 하기 위한 메서드, 프로퍼티, 기타 요구사항 등의 청사진을 정의합니다.

*청사진…? 저도 무엇인지 몰라서 찾아봤습니다. 대충 계획, 구상 정도로 생각하면 됩니다.

스크린샷 2024-08-11 오후 1.45.45.png

특징


<aside> ✅ 프로토콜은 정의를 하고 제시를 할 뿐이지 스스로 기능을 구현하지는 않습니다!

</aside>

프로토콜 채택


<aside> 📌 프로토콜 정의 방법

protocol 프로토콜 이름 {
	프로토콜 정의
}

</aside>

<aside> 😚 프로토콜 채택

struct SomeStruct: AProtocol, AnotherProtocol {
	// 구조체 정의
}

class SomeClass: AProtocol, AnotherProtocol {
	// 클래스 정의
}

enum SomeEnum: AProtocol, AnotherProtocol {
	// 열거형 정의
}

</aside>

<aside> 👀 클래스가 다른 클래스를 상속받고 프로토콜을 채택할 경우

class SomeClass: SuperClass, AProtocol, AnotherProtocol {
	// 클래스 정의
}