본문 바로가기
Languages/Swift

사당 iOS 스터디 5주차 - 프로토콜 지향 프로그래밍

by 탄이. 2018. 8. 17.

CHAPTER 23 프로토콜 지향 프로그래밍

__23.1 프로토콜 초기구현

프로토콜과 익스텐션을 결합하면 코드의 재사용성이 월등히 증가

프로토콜의 요구사항을 익스텐션을 통해 구현하는 것을 프로토콜 초기구현(Protocol Default Implementations)

익스텐션을 통해 구현된 메서드 재정의

  • 특정 프로토콜을 준수하는 타입에 프로토콜의 요구사항을 찾아보고 이미 구현되어 있다면 그 기능을 호출하고, 그렇지 않다면 프로토콜 초기구현의 기능을 호출

제네릭, 프로토콜, 익스텐션을 통한 재사용 가능한 코드 작성

  • 스위프트의 클래스는 다중상속을 지원하지 않으므로 부모클래스의 기능으로 부족하다면 자식클래스에서 다시 구현해야 하지만, 프로토콜 초기구현을 한 프로토콜을 채택했다면 상속도 추가 구현도 필요 없습니다.

  • 상속을 지원하지 않는 값 타입인 구조체와 열거형도 상속을 받지 못한다고 아쉬워할 필요가 없습니다.

  • 프로토콜 초기구현을 통해 기능을 구현한다면 프로토콜 채택만으로 타입에 기능을 추가해 사용할 수 있습니다.

__23.2 맵, 필터, 리듀스 직접 구현해보기

__23.3 기본 타입 확장

프로토콜 초기구현을 통해 스위프트의 기본 타입을 확장하여 내가 원하는 기능을 공통적으로 추가해볼 수도 있습니다.





참고


야곰의 스위프트 프로그래밍 https://book.naver.com/bookdb/book_detail.nhn?bid=12571019

댓글