protocol_1_generic,equtable

hankyulee·2021년 9월 26일
0

protocol

목록 보기
1/2

protocol을 공부하다보면 generic 같이 접한다. 제너릭은 함수 뿐만 아니라 구조체,클래스,enum타입에도 선언할 수 있다.
(제네릭 타입 이라고 한다. : 제네릭 타입은 나중에...)

Equtable: "타입"(클래스,구조체,enum등)이 채택할 수 있는 프로토콜로서 비교 가능하도록 한다. 클래스에 적용해보자.
위와같이 equtable 프로토콜을 채택한 클래스의 경우 비교를 할 수있다.

다음은 제너릭을 이용하여 제너릭함수를 만들것이다. 프로토콜을 사용하는 코드이다.

위와같이 타입제약으로 클래스를 넣으면 함수를 선언할 때 그 클래스의 하위 인스턴스가 들어가야하고 타입제약으로 프로토콜을 넣으면 프로토콜을 따르는 객체를 넣어야한다. T는 타입 파라미터이다.

  • 파라미터 타입에 2개 이상의 타입제약은 안된다.

0개의 댓글