형 변환

형 변환(type conversion, type casting, type coercion, type juggling)은 프로그래밍에서 자료형을 다른 형태로 변경하는 것이다. 필요에 따라서 변경되는 암시적 형변환과 프로그래머가 직접 변경하는 명시적 형변환으로 크게 두 가지로 나눌 수 있다.

암시적 형변환 
암시적 형변환은 컴파일러가 자동으로 변환하는 형변환이다. 예를 들면 복수 데이터 형태가 사용될 때 상위 데이터 형태로 자동 변환된다.
 double  d;
 long    l;
 int     i;
 // ...
 if (d > i)      d = i;
 if (i > l)      l = i;
 if (d == l)     d *= 2;
위 C 코드에서 변수 d, l, i는 다른 데이터형을 가지고 있지만 모든 연산은 자동적으로 같은 형태로 변환된 다음에 진행된다.

암시적 형변환에서는 주의할 점이 있다. 예를 들면 double형(부동소수점)의 데이터를 int형(정수형) 변수로 변환할 때 소수점 이하의 값이 존재하거나 int형으로 표현할 수 있는 범위를 벗어나는 경우 데이터의 일부를 잃어버리게 된다.

C++ 언어에서는 static_cast<>() 등등 다양하다.

같이 보기 
 자료형 체계

각주 

자료형
연산자 (프로그래밍)
유형 이론
단항 연산