● 프로토콜(Protocol)?
어떠한 객체가 갖추어야할 기능, 속성에 대한 설계도. 프로토콜의 내용은 프로퍼티, 메소드의 단순한 선언 형태로 구성되며, 실질적인 내용은 프로토콜을 이용하는 객체에서 정의. 다른 객체 지향 언어에서의 인터페이스 역할임. 델리게이트 패턴(Delegate Pattern)*을 구현하기 위해 이용되는 것이 프로토콜이라는 객체.
그러니까... 지켜야할 어떤 기준? 가이드라인 같은거 라고 보면 될까나.
*델리게이트 패턴(Delegate Pattern): 이벤트를 효율적으로 관리하기 위해 대리자(Delegate)에게 이벤트 처리를 위임하는 것.
● 프로토콜(Protocol) 정의와 구현 방법?
정의 protocol 프로토콜명 { //구현 할 프로퍼티 명세 //구현 할 프로퍼티 명세
//구현 할 메소드 명세 //구현 할 메소드 명세
} 구현 방법 struct/class,enum 객체명, 구현할 프로토콜 이름 {
}
|
● 프로토콜(Protocol)'s Property
프로토콜 안에 선언 되는 프로퍼티는 초기값 할당 No No, 연산 프로퍼티인지 저장 프로퍼티인지 구분도 하지 않고, 프로퍼티의 종류, 이름, 변수 및 상수 구분, 타입, 읽기 전용인지 읽고 쓰기 가능한지에 대해 정의 함.
● 프로토콜(Protocol)'s Method
프로토콜 안에 선언 되는 메서드는 메서드 종류 / 이름, 파라미터 이름 / 타입, 반환 타입까지 정의 할 수 있으나, 중괄호 블럭은 No No.
'Coding' 카테고리의 다른 글
JSON (0) | 2017.12.09 |
---|---|
Swift 클래스, 인스턴스, 객체... 매번 헷갈리는 너. OOP (0) | 2017.12.08 |
Swift 오토레이아웃(Autolayout) (0) | 2017.12.03 |
Swift 옵셔널(Optional) (0) | 2017.12.01 |
Swift 클로저(closures) (0) | 2017.11.30 |