// 스위프트의 유일한 참조(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
'STUDY > Swift' 카테고리의 다른 글
Swift 함수의 일급 객체 조건 (0) | 2018.06.29 |
---|---|
Swift 함수형 프로그래밍 패러다임과 그 장점 (0) | 2018.06.29 |
Swift nil 병합 연산자, 옵셔널 관련 연산자 (0) | 2018.06.29 |
Swift 구조체와 클래스 [Struct, Class] (0) | 2018.06.29 |
Swift 클로저 [Closure] (0) | 2018.06.22 |