STUDY/Swift

Swift 비교 연산자

The Simpler 2018. 6. 29. 15:23


// 스위프트의 유일한 참조(Reference) 타입인 클래스의 인스턴스에서만 참조비교 연산자를 사용할 수 있다.

// (물론 프로그래머가 다른 데이터 타입에서 === 등의 연산자를 정의하면 다른 용도로 사용 가능하다.)

// 스위프트의 기본 데이터 타입은 모두 구조체로 구현되어 있기 때문에 값 타입이다.

// 값의 비교 연산에는 ==을 사용하고[구조체의 인스턴스], 참조 타입인 경우에만 ===을 사용한다[클래스의 인스턴스].


class Person {

    var height: Float = 0.0

    var weight: Float = 0.0

}


let valueA = 3

let valueB = 5

let valueC = 5


let isSameValueAB: Bool = valueA == valueB // false

let isSameValueBC: Bool = valueB == valueC // true


let referenceA: Person = Person()

let referenceB: Person = Person()

let referecneC: Person = referenceA


let isSameReferenceAB: Bool = referenceA === referenceB

let isSmaeReferenceAC: Bool = referenceA === referecneC