-
주니어 개발자를 위한 100가지 질문(답변 포함) - 5언어/JSP 2023. 10. 29. 13:11728x90반응형
5️⃣ object copy
📌 복사가 사용되는 이유는 무엇인가요?
복사는 원본 데이터의 변경 없이 동일한 값을 가진 새로운 데이터를 사용하고 싶을 때 사용됩니다. 객체 지향 프로그래밍에서 객체의 상태를 변경하지 않고 동일한 상태를 유지하려는 불변성을 지키기 위해 복사가 필요합니다.
📌 객체 복사는 어떻게 할 수 있나요?
자바에서 객체 복사를 위해 clone() 메서드를 사용할 수 있습니다. 그러나 이는 얕은 복사를 수행하므로, 깊은 복사를 위해서는 직렬화-역직렬화 방법, 복사 생성자, 복사 팩토리 등의 방법을 사용할 수 있습니다.
📌 깊은 복사와 얕은 복사의 차이를 말해주세요.
얕은 복사(Shallow Copy)는 객체가 가진 멤버 필드 값만을 복사하는 방식입니다. 이 때, 멤버 필드가 참조형일 경우 참조 값만 복사되므로 원본 객체와 복사 객체는 같은 메모리를 가리키게 됩니다. 반면에 깊은 복사(Deep Copy)는 참조형 멤버 필드의 경우 참조 대상 객체까지 복사하는 방식입니다. 따라서 원본 객체와 복사 객체는 완전히 독립적입니다.
728x90반응형'언어 > JSP' 카테고리의 다른 글
주니어 개발자를 위한 100가지 질문(답변 포함) - 7 (1) 2023.10.31 주니어 개발자를 위한 100가지 질문(답변 포함) - 6 (1) 2023.10.30 주니어 개발자를 위한 100가지 질문(답변 포함) - 4 (0) 2023.10.28 주니어 개발자를 위한 100가지 질문(답변 포함) - 3 (0) 2023.10.27 주니어 개발자를 위한 100가지 질문(답변 포함) - 2 (2) 2023.10.26