[Java]/Program source (java)
097 Review - Java 오브젝트 : clone() 메소드와, println 내부에서의 업 캐스팅 처리
Jelly-fish
2023. 9. 15. 15:05
public class Test097
{
public static void main(String[] args)
{
int[] nums = {10, 20, 30, 40, 50}; //-- 배열 원본
int[] copys1 = nums; //-- 얕은 의미의 배열 복사 수행
//-- (주소값 복사)
int[] copys2 = copyArray(nums); //-- 깊은 의미의 배열 복사 수행
//-- (사용자 정의 메소드 호출 → 데이터 복사)
// ◎(반환되는 데이터 타입 : 오브젝트(object) → int배열 타입으로 변경)
int[] copys3 = (int[])nums.clone(); //-- 깊은 의미의 배열 복사 수행
// ------------ Object!!!
// -------
// 하위 클래스(int형 배열)
//
// → 『 다운 캐스팅 된 형태이다!! 』
//-- (자바 제공 → clone() 메소드)
// (배열 int[]은 자식 클래스) 【nums는 객체이므로 Object 타입】
// Object는 모든 타입들을 보유하고 있음...!! → 최상위 조상이므로
// 배열이 업캐스팅 된 상태로 Object 형태로 변환했기 때문에 다운 캐스팅이 가능한 것이다!
// Object보다 상위 객체는 없기 때문에, Object 앞에 타입을 변환하는 명시적 형변환은
// 모두 다운 캐스팅이다.
// class 배열 extends Object
//{
// /* Object 가 물려준 clone()
// ...
// Object clone()
// {
//
// }
// */
//}