• 정의

    • 이 프로토콜을 준수하는 타입은 == 또는 != 연산자로 값을 비교할 수 있습니다.
  • 조건

    • a == a
    • a == b면 b == a
    • a == b, b == c면, a == c
  • 특징

    • Class 인스턴스의 동일성 여부는 === 로 비교합니다.
  • 예제

    class Board {
        let title: String
        let content: String
        
        init(title: String, content: String) {
            self.title = title
            self.content = content
        }
    }
    
    extension Board: Equatable {
        static func == (lhs: Board, rhs: Board) -> Bool {
            return lhs.title == rhs.title && lhs.content == rhs.content
        }
    }