프로토콜 TIL39

future0159 2월 8일 AM 12:59 7 1
future0159 Profile Image Level 9
1

프로토콜

특정 역할을 수행하기 위한 method, property, initializer에서의 요구사항 정의하는데, 이것은 실질적으로 구조체, 클래스, 열거형에 필요한 기능을 요구하는 것이다. 구조체, 클래스, 열거형은 프로토콜의 프로토콜을 채택(adopted해서 이라고 하며, 요구된 기능을 구현하는 것을 준수(conform)라고 표현한다.

프로토콜 정의

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

프로토콜은 프로토콜이라는 키워드로 정의하고, 내부적으로 요구하는 요구사항을 프로토콜이 아닌 타입에서 구현하게 된다.

프로퍼티 요구

프로퍼트의 요구를 위해서 "var" 키워드를 사용하며, get만 사용한다면 읽기만 가능해도 되며 get, set명시할 시 읽기 쓰기가 모두 가능한 프로퍼티여야 한다.
프로퍼티중 읽기전용 프로퍼티의 요구는 연산 프로퍼티로 대체 가능하며, 읽기 쓰기또한 마찬가지이다

댓글