본문 바로가기
Coding

Swift 프로토콜(Protocol)

by BlissBless 2017. 12. 6.

프로토콜(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