# shallow copy

복사에도 깊이가 있다(얕은 복사, 깊은 복사)
자바스크립트에서 객체와 배열은 참조형 데이터 타입이다. 이 말은 변수에 객체나 배열을 할당하면 변수에는 해당 객체나 배열의 참조값이 저장된다는 것을 의미하는데, 이 때문에 한 객체나 배열을 다른 변수에 할당하면, 두 변수는 같은 객체나 배열을 참조하게 된다. 하지만 때

JS - 깊은복사 vs 얕은복사
우리가 자바스크립트에서 객체나 데이터의 값을 복사할 때 복사하는 방법에 따라 깊은 복사와 얕은 복사로 나뉩니다.원시값(primitive value)은 변경 불가능한 값으로, 값을 만들어내는 기본적인 데이터 타입입니다. 하지만 변경불가능한 것은 변수가 아닌 값에 대한 진
Shallow Copy & Deep Copy
arr이라는 배열을 스프레드 연산자를 사용해서 펼쳐주고,새로운 대괄호로 감싸서 전혀 다른 배열을 하나 생성한 것이다이렇게 하면 기존에 arr 배열이 가지고 있던 주소값과 전혀 다른 별개의 새로운 배열이 newArr이라는 변수에 담기게 됨 (참조 타입 값의 복사 성공)배
Shallow Copy VS Deep Copy
참조타입의 데이터 복사 = 값이 저장된 '메모리의 주소' 를 복사하는 것: 참조 타입 데이터가 저장한 '메모리 주소 값' 을 복사하는 것을 의미: 그렇기 때문에 복사된 변수를 수정하게 되면 원본 값에 영향을 줌🎯 중첩객체가 존재하는 경우 해당 복사는 얕은복사로 이루어

JS 기본상식 6.Shallow Copy & Deep Copy
Shallow Copy(얕은복사)란 아주 최소한의 복사를 의미한다. 갑을 복사하더라도, 인스턴스가 메모리에 새로 생성되지 않는다. 즉, 값자체를 복사하는 것이 아니라 주소값을 복사하여 같은 메모리를 가리킨다. 그렇기 때문에 중첩객체의 내부객체의 경우 여전히 영향을 받을

파이썬 곱하기로 객체 생성시
파이썬에선 \[1]\*4 와 같은 식으로 곱하기 연산자를 이용해 객체를 복사해 생성할 수 있다 그런데 백준을 풀던중 1로 꽉찬 2차원 배열을 만들어야해서 pop_map = \[\[1]\*14]\*14 와 같이 선언했다.그런데 무슨일인가, 이론상 완벽한데 틀리는 것이 아

데이터 복사(copy)에도 깊이가 있다?
이 내용은 자바스크립트 객체를 공부하던 중 아래 내용으로 부터 시작되었다.객체는 메모리를 효율적으로 사용하기 위해, 그리고 객체를 복사해 생성하는 비용을 절약하여 성능을 향상시키기 위해 객체는 변경 가능한 값으로 설계되어 있다. 메모리 사용의 효율성과 성능을 위해 어느

JS 기본 상식
==, === 차이점 ES6의 특징 let, const, var (scope 개념에서의 차이) JavaScript & Node.js null과 undefined 차이 Shallow Copy & Deep Copy

Shallow Copy & Deep Copy
: 객체의 참조값(주소값)을 복사하는 것얕은 복사는 참조값과 관련되어있는데, 여기서 참조값은 여려 자료형으로 구성되는 메모리에 저장된 객체이다.

[ JS ] 얕은 복사와 깊은 복사
👇 복습하고 넘어가기 * "원시 타입과 참조 타입의 값"* > ### 📖 원시 타입의 값 > 불변성을 가지며, 변수가 가리키는 메모리 셀 안에 실제 값이 할당되어 있다 만약, 원시 타입의 값을 변경하고 싶다면 재할당을 통해 새로운 메모리 셀 안에 재할당할 값을 넣고, 변수는 새로운 메모리 주소 안에 재할당 된 값을 가리키게 된다 💡 그럼 여기...
JavaScript 익히기 #16 얕은 복사 && 깊은 복사
객체를 프로퍼티 값으로 갖는 객체의 경우 얕은 복사는 한단계 까지만 복사하는 것을 말한다.깊은 복사는 객체에 중첩되어 있는 객체까지 모두 복사하는것을 말한다.얕은 복사와 깊은 복사로 생성된 객체는 원본과는 다른 객체다.즉 원본과 복사본은 참조 값이 다른 별개의 객체다.
전개 구문 (Spread syntax)
전개 구문(Spread syntax) : spread 문법(...)은 객체나 배열을 개별 요소로 펼쳐준다. 1. 객체나 배열을 펼쳐서 다른 객체나 배열에 담을 수 있다. {...obj} : 객체를 객체에 담을 때 ➡️ 이렇게 전개 구문을 이용해 객체를 복사하면, 두

shallow copy vs deep copy in Swift
https://medium.com/@cseankurbuet/understanding-deep-copy-and-shallow-copy-in-swift-8df201375611글을 번역한 것이니 원문을 보는 것을 추천한다.데이터를 그대로 복사하여 복사한 두 데이터

Shallow Copy & Deep Copy
객체복사라는 것은 존재 X원본 객체와 같은 값을 가진 객체를 새로 만들 수 있을 뿐!child3의 name값을 변경해도 (주소값을 복사하는)얕은 복사와 달리 원본인 child2의 name 값이 변경되지 않고 유지된다.하지만 위에서처럼 name: child2.name…
[프로그래머스][python]행렬 테두리 회전하기_시간초과_deepcopy
시간초과가 났다. 이유는 deepcopy 때문. 코테에서 deepcopy 모듈 자체가 느린 편에 속하기 때문에 되도록 사용하지 말자.
[C#] 얕은 복사, 깊은 복사
개요 .NET에서 제공하는 MemberWiseClone()와 대입의 차이 확인 효율적인 깊은 복사를 위한 Serialization 활용 코드 출력 결론 대입의 경우 기존 객체를 동일하게 가르키는 포인터를 생성함 모든 수정사항이 동일하게 반영됨 MemberWise
[Go] 얕은 복사, 깊은 복사
개요 golang에서 얕은 복사, 깊은 복사 구현 실제 메모리 주소를 출력하여 차이 확인 코드 study/copy.go main.go 추가 설명 깊은 복사는 신규 변수에 기존 변수의 멤버를 일일히 복사하는 방식과 직렬화를 이용해 복사하는 방식이 있음 위 코드는 후자

JavaScript | 얕은 복사와 깊은 복사
바로 아래 단계의 값만 복사중첩된 객체에서 참조형 데이터가 저장된 프로퍼티를 복사할 때 그 주솟값만 복사그러면 해당 프로퍼티에 대해 원본과 사본이 모두 동일한 참조형 데이터의 주소를 가리키게 됨. (사본을 바꾸면 원본도 바뀌고 원본을 바꾸면 사본도 바뀜.)예시 코드객체