2016-10-28 2 views
-7

나는 단순히 방어적인 사본이 저것을 이해한다이다 : 종류의 인스턴스가 창조 될 때. 방어 복사본을 사용하면 클라이언트가 해당 인스턴스의 내부를 변경하지 않도록 할 수 있습니다. 맞습니까? 그렇지 않다면, 방어적인 사본을 이해하는 방법을 말해주십시오.방어적인 사본을 이해하는 방법

+2

Google에 문의했으며 검색 결과의 두 번째 항목입니다 .http : //www.javacreed.com/what-is-defensive-copying/ –

+2

downvote 버튼 위에 마우스를 올려 놓으면 "이 질문 어떤 연구 노력을 보이지 않습니다 .... ", 그것은 당신이 구글이나 야후 또는 chineese Baidu –

+0

확인 여부를 상관하지 않습니다. 나는 질문을하기 전에 그렇게 할 것입니다. –

답변

1

기본적으로 개체에 대한 참조를 반환하는 모든 곳에서는 대신 새 개체를 만듭니다 (상황에 따라 object.clone() 또는 생성자를 사용할 수 있음). 즉, 호출자는 원본 객체의 복사본에 액세스 할 수 있지만 원본 객체의 데이터는 참조 할 수 없으므로 변경할 수 없습니다.

Google에서 많은 예제를 찾을 수 있습니다 (here is one such example).