🔥 프로토콜 문법

114자
2분

프로토콜을 정의하는 방법은 클래스, 구조체, 열거형을 정의하는 방법과 매우 유사합니다. 다음과 같은 형태로 프로토콜을 선언할 수 있죠.

swift
protocol SomeProtocol {
    // 프로토콜 정의가 여기에 들어갑니다.
}
swift
protocol SomeProtocol {
    // 프로토콜 정의가 여기에 들어갑니다.
}

사용자 정의 타입에서 특정 프로토콜을 채택할 때는 타입 이름 뒤에 콜론(:)을 붙이고 프로토콜 이름을 적어줍니다. 만약 여러 개의 프로토콜을 채택한다면 쉼표(,)로 구분하여 나열하면 됩니다.

swift
struct SomeStructure: FirstProtocol, AnotherProtocol {
    // 구조체 정의가 여기에 들어갑니다.
}
swift
struct SomeStructure: FirstProtocol, AnotherProtocol {
    // 구조체 정의가 여기에 들어갑니다.
}

클래스가 상위 클래스를 가지고 있다면, 상위 클래스 이름을 프로토콜 목록 앞에 적어주고 쉼표로 구분합니다.

swift
class SomeClass: SomeSuperclass, FirstProtocol, AnotherProtocol {
    // 클래스 정의가 여기에 들어갑니다.
}
swift
class SomeClass: SomeSuperclass, FirstProtocol, AnotherProtocol {
    // 클래스 정의가 여기에 들어갑니다.
}

이렇게 프로토콜을 정의하고 채택하는 기본적인 문법을 알아보았습니다. 간단하지만 강력한 이 문법을 통해 우리는 코드의 청사진을 그릴 수 있게 되었죠.

YouTube 영상

채널 보기
내적의 기하학적 의미와 코사인 유사도 원리 | 선형대수학
트라이(Trie)를 이용한 자동 완성 알고리즘 | Trie 자료구조 이야기
마지막편, 10억 개 데이터 검색이 0.3ms면 끝나는 이유와 LSM-Tree의 등장
마지막편, 트라이 노드를 50% 이상 줄이는 방법? 압축 트라이 성능 분석 | Trie 자료구조 이야기
Trie(트라이) 자료구조 원리와 파이썬 클래스 설계 및 구현 | Trie 자료구조 이야기
트라이(Trie)에서 단어를 삭제하는 방법 | Trie 자료구조 이야기
BTree 노드의 구조는?
7편, 파이썬으로 구현하는 B-Tree