형 변환(Type Conversion)이란 데이터의 타입을 변경하는 것이다. 형변환(type conversion)은 캐스팅(casting) 이라고도 하며 명시적(explicit) 또는 묵시적(implicit)으로 자료의 형식을 변환하는 것을 말한다.
인터넷에 Conversion, Casting, Promotion, Explicit, Implicit 등 혼용되고 있어서 Oracle의 공식 문서를 살펴 봤다. 일단 형변환의 종류만해도 20개 가까이 된다.
전반적으로 빠르게 살펴 봤는데
•
정수, 실수와 관련된 암시적 변환은 Widening Primitive Conversion
•
기본형 타입을 할당하는 대입 변환은 Assignment Conversion
•
참조형 타입인 배열과 관련된 내용은 Casting
•
Boxing 하는 것은 Boxing Conversion
•
bit, hex 등 숫자의 진법과 관련된 것은 Promotion이라는 표현이 자주 등장한다.
따라서 기본적으로 Conversion의 카테고리내에 있기 때문에 대명사처럼 사용해도 크게 문제는 없을 것 같지만 Casting, Promotion은 조금 구분해야 할 것 같다.
오히려 깊게 들어가면 시간이 너무 오래 걸리고 당장 중요한 것은 명시적(Explicit Conversion)인지, 암시적(Implicit Conversion)인지 구분하고 변환 하는 순간 어떤 것인지 공식 문서로 확인해보는 것이 더 중요하다.
우선 링크를 걸어두고 필요할 때 하나씩 정확하게 살펴봐야겠다.
* 강제적 형변환(명시적 형변환 - Explicit Conversion / Casting)
(타입) 을 지정하여 강제로 변환함
* 암시적 형변환(Implicit Conversion)
타입별 크기byte1>short2>int4>long8>flaot4>double8
(타입)을 지정안해도 크기에 따라 보다 큰 크기로 형변환이 자동으로 되는 것