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