형 변환

형 변환(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<>() 등등 다양하다.

 같이 보기 
 자료형 체계

 각주 

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