String name = "홍길동"; //업캐스팅이라 Object 넣는 곳에 String 타입이 오는 거 가능

 

int age = 20;

기본형 -> Object 타입 원래 안되는게 맞는거 같은데 왜 되는걸까?

//char

 

 

MyPoint p1 = new MyPoint(1,2);

disp(p1);

String name = "홍킬동";

disp(name);

 

 

 

int age = 20;

disp(age);                 //==>> ? 이게 왜 오류가 안나는지 ? 지금 이걸 공부하는거다.

 

char ch = 'A';            //==>> ? 이게 왜 오류가 안나는지 ? 지금 이걸 공부하는거다.

disp(ch);

 

int age =>Object obj 변환되는 이유

int age 자동으로 Integer 타입 형변환 된후 업캐스팅 되서 Object obj 변환된다.

(오토박싱) (업캐스팅)

 

 

int i = 10; //기본형 int

Integer j = new Integer(i);

래퍼클래스

 

Integer 래퍼 클래스 -> Number 클래스->Object 클래스

 

오토박싱

오토박싱 : 기본형을 자동으로 래퍼 클래스 타입으로 형 변환하는 것이다. 

Integer j = i;                //클래스 = 기본형 자동형변환(오토 박싱)

 

오토언박싱

오토언박싱 : 래퍼 클래스 객체를 기본형으로 자동 형변환 

int k = Integer j;

 

 

Object 매개변수 : 모든 데이터 타입을 다 매개변수로 받겠다.

Object 리턴 자료형 : 모든 데이터 타입으로 다 반환하겠다.

public static Object disp(Object obj) {//업 캐스팅 Object obj = p1;

System.out.println(obj.toString());

 

return 3.14;

}

 

 

 

가변인자 : 자료형...args

//System.out.println(String format,Object...args);

System.out.printf(">name = %s,age = %d,%c,%.2f \n",name,age,'A',3.14);

복사했습니다!