-
프로토콜 - Equatable, ComparableSwift/swift 문법 2023. 4. 3. 01:11
Equatable
: '==' 오퍼레이터 오버로드가 필요
Comparable
: 채택 시 비교 연산자 사용 가능
> , < , > = ...
Int Double String 에서는 채택 안해도 됨 미리 만들어 놓은 메서드 사용
-> Enum, struct, class에서 사용.
1.열거형에서 comparable 사용시
원칙: Comparable을 채택한 경우라도, *less then 연산자를 직접 구현해야 한다.
Comparable 프로토콜 생성시 필수적으로 구현해야하는 매서드는?
1) ==
2) >=
3) <
4) >
드래그하시면 답을 볼 수 있습니다.
정답) 3
해설) less then 이외의 것은 같다 아니면 크다가 되므로..!Comparable 프로토콜은 Equatable 프로토콜을 상속받는다.
-> 상위의 프로토콜을 구현해주어야 한다.
근데 왜 구조체에서는 안함?
: 저장속성이 equatable 프로토콜을 구현하고 있으면 자동상속된다.
근데, 클래스에서는 equatable프로토콜을 구현해주어야 함 (자동 상속되지 않으므로)
클래스에서 Comparable 프로토콜 구현시 필수 구현되어야 하는 연산자 매서드는? (2개)
1) ==
2) >=
3) <
4) >
답: < , ==
(드래그)
'Swift > swift 문법' 카테고리의 다른 글
강한참조 사이클 - weak vs unowned (0) 2023.04.11 hashable 프로토콜 (0) 2023.04.09 확장에서의 생성자 사용 (0) 2023.03.29 제네릭 (0) 2023.03.27 에러 처리 (0) 2023.03.27