-
swift - Identity Operators(항등 연산자)swift 2021. 1. 8. 03:34
Identity Operators(항등 연산자)
우선 동일성 비교 방식에 대해 알아보면
값 형식의 데이터는 데이터를 저장할때 Stack에 저장하기 때문에 하나의 비교 방법만으로 가능하지만
참조 타입의 경우에는 값을 Heap에 주소를 Stack에 저장하기 때문에 값을 비교할 때는 ==, != 같은 연산자를 사용하지만
주소를 비교할 때는 Identity Operator가 필요하다
피연산자는 항상 classInstance
class A { var a: Int var b: Int init(a: Int, b: Int) { self.a = a self.b = b } } let a = A(a: 1, b: 2) let b = a let c = A(a: 3, b: 4) a === b // true : 동일한 주소에 저장되어 있기때문에 a === c // false // 약간 같은 객체인지를 비교할 때 쓰이는듯?
'swift' 카테고리의 다른 글
swift - Property #2 (Computed ProPerty, Read-Only Computed Property) (0) 2021.01.12 swift - Property #1 (Stored Properties, Explicit Member Expression, Lazy Stored Properties) (0) 2021.01.12 swift - Value Types And Reference Types(값 형식과 참조 형식) (0) 2021.01.08 swift - Structures & Classes (0) 2021.01.07 swift - Enumerations(RawValue, Associated Value, Enumeration case Pattern) (0) 2021.01.07