□ Casting : Primitive Data Type(기본 데이터 형) 을 변환하는 것을 Conversion, Reference type(참조 형)을 변환하는 것을 Casting이라 하고 이 둘을 총칭하는 것을 Casting이라 한다.
① Conversion : 왼쪽의 데이터 형이 오른쪽의 데이터 형보다 작을 경우 명시적인 형 변환(데이터의 손실이 발생할 수 있음)을 해야 하며 왼쪽의 데이터 형이 오른쪽의 데이터 형보다 클 경우 자동적으로 형 변환이 일어남
※ boolean 형은 다른 기본 유형으로 또는 다른 기본 유형에서 boolean 형으로 변환될 수 없다.
형 변환
|
사용 예
|
설 명
|
묵시적
|
int a = 10;
long b ;
b =a;
|
int 형 변수 a를 long형 변수 b에 넣는다. long 형의 유효범위가 int형보다 크기 때문에 자동적으로 형 변환이 일어나 대입된다
|
묵시적
|
long a = 10;
double b;
b = a;
|
long형 변수 a를 double형 변수 b에 넣는다. double형의 유효범위가 long형보다 크기 때문에 자동적으로 형변환이 일어나 대입된다.
|
명시적
|
long a = 10;
int b;
b = (int)a;
|
long형 변수 a를 int형 변수 b에 넣는다. long형의 유효범위가 int 형보다 크기 때문에 명시적으로 형 변환을 해주어야 한다.
|
명시적
|
float a = 10.0f;
int b;
b = (int)a;
|
float 형 변수 a를 int형 변수 b에 넣는다. float형의 유효범위가 int 형보다 크기 때문에 명시적으로 형 변환을 해주어야 한다.
|
② Casting : 참조 형을 변환하는 것을 말하며 상속 관계에 있을 경우에만 형 변환이 가능하다. 오른쪽 데이터 형이 하위 클래스일 경우에는 명시적으로 형 변환을 해야 한다.
형 변환
|
사용 예
|
설 명
|
묵시적
|
Object o = new String("str")
|
Object는 모든 클래스가 상속하는 최상위 클래스이다. 그렇기 때문에 String 객체는 묵시적으로 형 변환 됨
|
명시적
|
Object o = new String("str")
String s = (String) o;
|
Object클래스로 형 변환된 String 객체로 사용하기 위해서는 명시적으로 형 변환을 해야 함
|
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.