Hashable이 무엇이고, Equatable을 왜 상속해야 하는지 설명하시오

김지훈·2022년 4월 16일
0

iOS 면접

목록 보기
63/82

hashable은 hasher를 통해서 Int타입의 해쉬 값을 만들어주는 프로토콜입니다. hash란 해시함수에 의해 얻어지는 값으로 hash함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수입니다. 예를 들어 김지훈이라는 스트링을 해시함수를 통해 정수인 해쉬값으로 변환할 수 있습니다. 해쉬값은 고유값이어야 하므로 고유값인지 식별해 줄 수 있는 "=="함수가 필요합니다. 이 함수는 Equatable 프로토콜 안에 정의되어 있으니 hashable은 equatable프로토콜을 따라야합니다. 기본 데이터 타입도 ==을 통해 비교가 가능하므로 equatable프로토콜을 따릅니다.

0개의 댓글