>  기사  >  Java  >  Java에서 깊은 복사와 얕은 복사의 차이점은 무엇입니까?

Java에서 깊은 복사와 얕은 복사의 차이점은 무엇입니까?

王林
王林앞으로
2020-07-04 16:58:343251검색

Java에서 깊은 복사와 얕은 복사의 차이점은 무엇입니까?

차이 분석:

(추천 학습: java 입문 프로그램)

Shallow copy

복사된 객체의 모든 변수는 원본 객체와 동일한 값을 포함하며, 다른 모든 객체에 대한 참조는 여전히 원래 개체를 가리킵니다.

즉, 얕은 복사본은 참조하는 개체가 아닌 고려 중인 개체만 복사합니다.

딥 카피

복사된 객체의 모든 변수는 다른 객체를 참조하는 변수를 제외하고는 원본 객체와 동일한 값을 포함합니다. 다른 개체를 참조하는 변수는 원래 참조된 개체가 아닌 복사된 새 개체를 가리킵니다.

즉, Deep Copy는 복사된 개체가 참조하는 모든 개체를 복사합니다.

(추천 비디오 튜토리얼: java 비디오 튜토리얼)

클래스를 다음과 같이 정의하세요:

class Test {
    public int i;
    public StringBuffer s;
}

다음 그림은 이 클래스의 객체를 복사할 때 얕은 복사와 깊은 복사의 차이점을 보여줍니다:

Java에서 깊은 복사와 얕은 복사의 차이점은 무엇입니까?

위 내용은 Java에서 깊은 복사와 얕은 복사의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제