Swift 공식문서 읽기...Day19

김민종·2021년 9월 6일
0

Swift Doc

목록 보기
19/26

Protocols
프로토콜은 메소드, 프로퍼티 그리고 특정요구사항에 대한 기능을 정의하는 청사진 같은 역할을 한다.

Property Requirements
프로토콜에서는 프로퍼티가 저장되었는지 계산된 프로퍼티인지 명시하지 않는다. 다만 요구된 프로퍼티의 이름과 타입을 명시한다. 프로토콜의 요구사항은 항상 변수 프로퍼티로 선언되어 있고 이는 var키워드로 나타낸다. gettable하거나 settable한 프로퍼티는 타입 설정시 {get set}을 타입선언 뒤에 해준다. 프로퍼티 사용 시 static키워드를 항상 요구한다.

Method Requirements
프로토콜에서는 필수 인스턴스 메소드와 타입 메소드를 명시할 수 있다.
Mutating Method Requirements
가끔은 메소드의 인스턴스를 수정 할 필요가 있다. 수정이 가능하면 mutating키워드를 사용해 func앞에 위치시킨다.

Initializer Requirements
프로토콜에서 이니셜라이저를 지정할 수 있다. 특정 이니셜라이저가 필요하다고 명시되어있으면 required키워드를 붙혀 줘야한다.

Protocols as Types
프로토콜도 하나의 타입으로 사용된다. 타입사용이 허용되는 곳에 프로토콜을 사용할 수 있다.

  • 함수, 메소드, 이니셜라이저의 파라미터 타입 혹은 리턴 타입
  • 상수, 변수, 프로퍼티의 타입
  • 컨테이너인 배열, 사전 등의 아이템 타입
profile
신입 ios개발자입니다!

0개의 댓글