【Swift】 참조형과 값형에 대해서
참조형과 값형의 차이에 대해서
참조형
참조 유형은 인스턴스가 값에 대한 참조를 나타내는 유형을 의미합니다. 아래의 예에서는 a, b라는 빈 상자에 대해 같은 위치에서 데이터를 가져와 (참조)합니다. 그래서 b의 속성 값을 변경하면 a의 값도 동시에 변화하고 있음을 알 수 있습니다.
class StringClass {
var string = "何も言いません"
}
let a = StringClass()
print(a.string) // 何も言いません
var b = a
b.string = "こんにちは"
print(b.string) // こんにちは
print(a.string) // 何も言いません
값 유형
값 유형은 인스턴스가 값에 대한 참조가 아닌 값 자체를 나타내는 유형을 의미합니다. 아래의 예에서 말하면, 인스턴스화 할 때 c, d라는 빈 상자에 StringStruct가 복사되는 이미지입니다. 각 속성의 값을 확인해도 별도로 존재한다는 것을 알 수 있습니다. 그래서 이후의 조작이나 연산 등은 원래의 데이터에는 영향을 주지 않습니다.
struct StringStruct {
var string = "何も言いません"
}
let c = StringStruct()
var d = c
d.string = "こんばんは"
print(c.string) // 何にも言いません
print(d.string) // こんばんは
이미지(참조형)
속성 b의 값이 변경되었으므로 값을 참조하는 a의 값도 변경되었음을 알 수 있습니다.
이미지(값 유형)
c,d는 각각 복사에 의해 작성된 인스턴스이므로 c,d끼리 의존성이 없습니다.
Reference
이 문제에 관하여(【Swift】 참조형과 값형에 대해서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/haruto861/items/499c26a7709294bde585텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)