🔥 프로토콜 문법

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 영상

채널 보기
존 매카시가 들려주는 인공지능의 탄생 이야기
NestJS 커스텀 데코레이터 인자 전달 및 파이프 검증 활용법 | NestJS 가이드
class-validator 와 DTO | NestJS 가이드
Pro펑터, 입력과 출력을 동시에 다루는 펑터 | 프로그래머를 위한 카테고리 이론
인터셉터와 RxJS로 캐시 시스템 구축하기 | NestJS 가이드
NestJS 역할 기반 접근 권한 부여 - Guard, Reflector | NestJS 가이드
Writer 펑터와 클라이슬리 카테고리 | 프로그래머를 위한 카테고리 이론
입력을 전처리하는 Functor - Contravariant와 contramap 이해하기 | 프로그래머를 위한 카테고리 이론