Copy
Shallow Copy vs Deep Copy
μμ λ³΅μ¬ Shallow Copy
μ£Όμλ₯Ό 볡μ¬ν©λλ€.
νμͺ½μ μμ μ΄ μ΄λ£¨μ΄μ§λ©΄ λ€λ₯Έ ν μͺ½μλ μν₯μ΄ κ°λλ€.
κΉμ λ³΅μ¬ Deep Copy
μλ‘μ΄ κ°μ²΄λ₯Ό μμ± ν©λλ€.
μλ‘ κ° μν₯μ΄ μμ΅λλ€.
Java μμ μ¬μ©λλ Copy λ©μλμ λΉκ΅
System.arraycopy()
Deep
Shallow
Fastest
Object.clone()
Deep
Shallow
Fast
Arrays.copyOf()
Deep
Shallow
Fast
Using for
Depend on code
Depend on code
Slow
Primitive Type μ κ° κ·Έ μ체μ΄κΈ° λλ¬Έμ Deep Copy λ₯Ό μ§μν©λλ€.
Non-Primitive Type μ μ£Όμλ₯Ό 볡μ¬νλ©° Swallow Copy λ₯Ό μ§μν©λλ€.
clone()
clone() μ shallow copy λ₯Ό μ§μν©λλ€. deep copy λ₯Ό μν΄μλ Cloneable λ₯Ό ꡬννκ±°λ ν΄μ£Όκ±°λ new λ₯Ό ν΅ν΄ deep copy λ₯Ό ν΄μ£Όμ΄μΌ ν©λλ€.
μν μ½λ
Cloneable λ₯Ό implements νμ§ μμ μ¬μ©μ μ μ ν΄λμ€
clone : shallow copy
forCopy : deep copy



Last updated
Was this helpful?