이번에 회사에서 carInspection 즉 셀러가 차량의 수리 이력등을 등록 및 수정하는 기능을 개발하게 되었습니다. 이때 carInspection의 등록은 PopUp에 있는 버튼을 통해서 등록할 수 있었는데 만약 셀러가 버튼을 눌러서 carInspeciton을 등록하고, 등록 이후에 창을 다시 열어서 수정을 하던 도중 취소를 하면 이전에 등록했던 carInspection 정보가 유지가 되어야 했습니다. 위의 기능을 개발하기 위해 등록하기 버튼을 눌렀을 때 duplicatedConditionList에도 원본 객체에 등록된 정보를 똑같이 할당해 주었는데 이때 원본 객체를 그대로 전달하면 수정을 할 때 duplicatedConditionList 또한 변하기 때문에 완벽한 깊은 복사 즉 Deep Copy를 ..