얕은 사본

작가: Lewis Jackson
창조 날짜: 8 할 수있다 2021
업데이트 날짜: 25 6 월 2024
Anonim
01-3 할당, 얕은 복사와 깊은 복사 (널널한 교수의 고급 파이썬) ft. 파이썬 코딩
동영상: 01-3 할당, 얕은 복사와 깊은 복사 (널널한 교수의 고급 파이썬) ft. 파이썬 코딩

콘텐츠

정의-얕은 복사 란 무엇입니까?

C #의 얕은 복사는 원본 객체와 동일한 유형의 새 인스턴스를 인스턴스화하고 기존 객체의 비 정적 멤버를 복제본에 복사하여 객체의 복제본을 생성하는 프로세스입니다. 값 유형의 멤버는 비트 단위로 복사되는 반면 참조 유형의 멤버는 참조 된 오브젝트와 해당 복제가 동일한 오브젝트를 참조하도록 복사됩니다.


일반적으로 응용 프로그램 전체에서 개체가 변경되지 않는 조건과 함께 성능이 요구 사항 중 하나 인 경우 얕은 복사가 사용됩니다. 변경 불가능한 데이터가 포함 된 클론을 전달하면 코드에 의한 손상 가능성이 제거됩니다. 얕은 복사는 객체 참조가 객체를 메모리 주소로 전달할 수있어 전체 객체를 복사 할 필요가없는 효율적인 것으로 밝혀졌습니다.

얕은 사본은 멤버 별 사본이라고도합니다.

Microsoft Azure 및 Microsoft 클라우드 소개 | 이 가이드를 통해 클라우드 컴퓨팅에 관한 모든 내용과 클라우드에서 비즈니스를 마이그레이션하고 운영하는 데 Microsoft Azure가 어떻게 도움이되는지 알아 봅니다.

Techopedia는 Shallow Copy를 설명합니다

얕은 복사는 객체의 각 멤버를 다른 객체의 멤버에 할당 할 때의 깊은 복사와 유사하지만 참조 유형의 필드가 복사되는 방식이 다릅니다. 참조 만 복사되는 얕은 사본과 달리, 깊은 사본에서는 참조 된 오브젝트의 새 사본이 작성됩니다.

예를 들어, 여러 직원 주소를 저장하는 주소 개체 목록을 포함하여 개인 정보의 세부 정보가 포함 된 직원 개체를 고려하십시오. 직원 오브젝트의 단순 사본을 수행하여 원래 직원 오브젝트가 소유 한 동일한 주소 오브젝트 목록을 참조하여 직원 오브젝트의 복제본을 작성할 수 있습니다.

단순 복사를 수행하는 방법은 다음과 같습니다.
  • 개체의 MemberwiseClone 메서드를 호출하십시오.
  • 지루하지만 제어하기 쉬운 사용자 정의 방법을 통해 수동으로 클론 생성
  • 자동화 된 기능을 제공하여 얕은 복사를 수행하지만 성능 오버 헤드가있는 리플렉션 기법을 사용
  • 리플렉션보다 느리지 만 자동화되고 간단한 직렬화 방법을 사용하십시오.
객체에 자주 수정되는 참조 유형의 멤버가있는 경우 얕은 사본을 사용할 수 없습니다. 이 정의는 C #으로 작성되었습니다.