형 변환
보이기
형 변환(type conversion,[1][2] type casting,[1][3] type coercion,[3] type juggling[4][5])은 프로그래밍에서 자료형을 다른 형태로 변경하는 것이다. 즉, 정수형을 문자열로 변환하는 것처럼, '값의 타입을 다른 타입으로 변환'하는 것이다. 필요에 따라서 변경되는 암시적 형변환과 프로그래머가 직접 변경하는 명시적 형변환의 두 가지로 나눌 수 있다.
암시적 형변환
[편집]암시적 형변환은 컴파일러가 자동으로 변환하는 형변환이다. 예를 들면 복수 데이터 형태가 사용될 때 상위 데이터 형태로 자동 변환된다.
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<>() 등등 다양하다.
같이 보기
[편집]각주
[편집]- ↑ 가 나 Mehrotra, Dheeraj (2008). 《S. Chand's Computer Science》. 81–83쪽. ISBN 978-8121929844.
- ↑ 《Programming Languages - Design and Constructs》. 2013. 35쪽. ISBN 978-9381159415.
- ↑ 가 나 Reilly, Edwin (2004). 《Concise Encyclopedia of Computer Science》. 82, 110쪽. ISBN 0470090952.
- ↑ Fenton, Steve (2017). 《Pro TypeScript: Application-Scale JavaScript Development》. xxiii쪽. ISBN 978-1484232491.
- ↑ “PHP: Type Juggling - Manual”. 《php.net》. 2019년 1월 27일에 확인함.