CHAPTER 23 프로토콜 지향 프로그래밍
__23.1 프로토콜 초기구현
프로토콜과 익스텐션을 결합하면 코드의 재사용성이 월등히 증가
프로토콜의 요구사항을 익스텐션을 통해 구현하는 것을 프로토콜 초기구현(Protocol Default Implementations)
특정 프로토콜을 준수하는 타입에 프로토콜의 요구사항을 찾아보고 이미 구현되어 있다면 그 기능을 호출하고, 그렇지 않다면 프로토콜 초기구현의 기능을 호출
제네릭, 프로토콜, 익스텐션을 통한 재사용 가능한 코드 작성
스위프트의 클래스는 다중상속을 지원하지 않으므로 부모클래스의 기능으로 부족하다면 자식클래스에서 다시 구현해야 하지만, 프로토콜 초기구현을 한 프로토콜을 채택했다면 상속도 추가 구현도 필요 없습니다.
상속을 지원하지 않는 값 타입인 구조체와 열거형도 상속을 받지 못한다고 아쉬워할 필요가 없습니다.
프로토콜 초기구현을 통해 기능을 구현한다면 프로토콜 채택만으로 타입에 기능을 추가해 사용할 수 있습니다.
__23.2 맵, 필터, 리듀스 직접 구현해보기
__23.3 기본 타입 확장
프로토콜 초기구현을 통해 스위프트의 기본 타입을 확장하여 내가 원하는 기능을 공통적으로 추가해볼 수도 있습니다.
참고
야곰의 스위프트 프로그래밍 https://book.naver.com/bookdb/book_detail.nhn?bid=12571019
댓글