RUBY
얕은복사와 깊은복사 본문
얕은복사와 깊은복사
얕은복사
얕은 복사한 변수는 같은 주소를 가리킨다.
a = [1, 2, 3]
b = a # a와 같은 주소를 가리킨다
a의 특정 원소를 변경하면 b도 마찬가지로 변경된 값을 가진다.
a의 특정 원소를 변경하는 것이 a가 가리키는 주소 변경을 일으키지 않기 때문이다.
a[1] = 100
print(b) # b와 a는 여전히 같은 주소를 가리킨다
>>> [1, 100, 3]
깊은복사
깊은 복사한 변수는 똑같은 값을 가지는 새로운 객체의 주소를 가리킨다.
import copy
a = [1, 2, 3]
b = copy.deepcopy(a) # 새로운 [1, 2, 3] 주소를 가리킨다
Comments