/* ===================
■■■ 배열 ■■■
====================*/
//배열의 복사
// Test099.java 파일과 비교~!
// ※ 배열 변수의 복사에는 데이터 복사, 주소값 복사, 두 가지 형태가 존재한다.
// 주소값 복사 → 얕은 복사 → 원본을 수정하면 복사본에 영향을 미치게 되는 복사 방법.
// (배열 뿐 아니라 모든 참조형 데이터에 해당하는 복사 방법.)
// 복사는 어디든 해당됌(배열뿐안 아니라 참조하는 모든 것에대한. 클래스든 메소드든)
// 잘 알아야 한다.
// 데이터 복사 → 깊은 복사 → 실제 요소로 들어있는 값에 대한 복사로
// 원본을 수정해도 복사본에 영향을 미치지 않는 복사 방법.
// 주소값 복사
public class Test098
{
public static void main(String[] args)
{
int[] nums = {10, 20, 30, 40, 50}; //-- 배열 원본
int[] copys; //-- 복사본으로 만들 배열
int temp; //-- 데이터 저장 임시 변수
// check~!!
copys = nums; //-- 복사~!!!
//----------------------------------------------------- 복사의 발생 지점
temp = nums[0]; //-- temp = 10;
nums[0] = 1000; //-- 1000 20 30 40 50
//-- 원본 배열 수정
for (int i =0;i<copys.length ;i++ )
System.out.printf("%3d", copys[i]);
System.out.println();
//--==>> 1000 20 30 40 50
System.out.println("temp : " + temp);
//--==>> temp : 10
}
}
728x90
'JAVA' 카테고리의 다른 글
Test100.java / 클래스와 인스턴스 / 정보은닉(information hiding) 과 접근제어지시자(access control speifiers) 접근지정자, 접근제한자 (1) | 2022.09.11 |
---|---|
Test099.java / 배열 / 배열의 복사 실습(깊은복사) (1) | 2022.09.11 |
Test097.java / 배열 / 배열과 난수(Random 클래스)처리 (0) | 2022.09.11 |
Test096.java / 배열 / 2차원 배열 실습 (0) | 2022.09.11 |
Test095.java / 배열 / 2차원 배열 실습 (0) | 2022.09.11 |
댓글