티스토리 뷰

macOS, iOS

Equatable

SweetDev 2019. 7. 8. 14:51

이름 그대로, equatable은 '값이 동일한지 어떤지를 비교할 수 있는 타입'이다. Equatable 프로토콜을 준수하는 타입은 ==, !=을 통해서 동등성을 비교할 수 있다. Swift 표준 라이브러리의 대부분 기본 데이터 타입은 Equatable을 따른다.

우리가 Int값 1, 또 다른 Int값 1을 같은 값인지 ==을 통해서 확인할 수 있는 것은, 바로 Int 타입이 Equatable 프로토콜을 준수하고 있기 때문이다.

하지만 우리가 새로 만들어준 클래스, 구조체는 기본적으로는 Equatable 속성이 없다. 직접 프로토콜을 채택해줘야 한다.

Equatable은 func == 을 채택해서 구현해줘야하는 프로토콜이다.

public static func ==(lhs:A, rhs:A) -> Bool { return lhs.aNum == rhs.aNum }

이런식으로 채택을 해주면, 우리는 이제 A 클래스를 A(1) == A(2) 이런식으로 비교할 수 있어진다.

'macOS, iOS' 카테고리의 다른 글

CGRectMake를 어떻게 수정할까  (0) 2019.07.09
일급객체란?  (0) 2019.07.09
[RxSwift] Rx 처음 시작하기  (0) 2019.07.08
[swift] Generics(제너릭스, T)  (0) 2019.07.08
Xcode 단축키들  (0) 2019.07.05
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함