WooKoo Blog

물과 같이

개발/개발

Swift - 프로토콜 맛보기

WooKoo 2021. 11. 2. 20:50

프로토콜은 왜 쓰는가??

 

1. 불필요한 상속을 피하고 각기 다른 기능을 구현하고 싶을 때

2. 델리게이트 패턴을 사용하고싶을 때

 


Anyobject, class을 상속 시 클래스에서만 프로토콜을 사용 할 수 있게 된다.

좋은점

- ARC 메모리 관리 시스템은 클래스를 다루고 있을 때 쉽게 할당할 수 있습니다(객체의 참조 횟수 증가).

이러한 정보가 없으면 컴파일러는 구조체가 프로토콜을 따를 경우를 대비해 할당과 해제를 고려해야하므로 비용이 많이들 수 있습니다.

 


 

옵셔널 구현은 @objc를 프로토콜 앞에 붙여 준 후 @objc optional func funcName()

이런식으로 구현해준다.(프로퍼티도 가능)


델리게이트 패턴 구현 시 기억해야할 것

 

1. 채택쪽

프로토콜 채택, 메서드 구현, 대리자 지정

 

2. 구현쪽

프로토콜 구현받는 프로퍼티 생성 및 동작시킴