Deep Copy 2

[Java/Kotlin] 깊은복사 Cloneable 이용하기

이전 포스팅에 이어서 Cloneable을 사용해서 깊은 복사를 하는 방법에 대해 적어보겠습니다. 깊은 복사에 대해 알고싶으시다면, 이전 포스팅을 참조해주세요 클래스에 Cloneable을 참조해서 구현하면 되는 방식이라 생각보다 간단합니다. 1. Cloneable implements 예제로 이름과 나이를 가지는 클래스를 구현해보겠습니다. 클래스에 Cloneable을 implements 해주고 Clone() Method를 생성해줍니다 ✔ Java public class User implements Cloneable { String name = ""; int age = 0; User(String name, int age){ this.name= name; this.age = age; } public Object..

☕️ Java 2020.12.06

[Java / Kotlin] 얕은 복사 , 깊은 복사

객체의 복사를 크게 두 가지 얕은 복사(Shallow Copy), 깊은 복사(Deep Copy) 나눌 수가 있습니다. 혼동하여 사용할 경우 결과값이 달라지므로 차이를 알고 사용해야 합니다. 1. 얕은 복사 (Shallow Copy) 객체 복사 시 해당 객체의 주소값을 복사 얕은 복사의 경우, 주소값을 복사하기 때문에 객체 복사 후 변수를 변경하거나 삭제하면 기존 객체의 변수값에도 변화가 생긴다. 예시 배열에 들어간 값을 삭제하는지 테스트해보겠습니다 ✔ Java ArrayList origin = new ArrayList(); origin.add("AAA"); origin.add("BBB"); ArrayList swallowCopy = new ArrayList(); swallowCopy = origin; s..

☕️ Java 2020.12.02