ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로토콜 - Equatable, Comparable
    Swift/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
Designed by Tistory.