형 변환
(형변환에서 넘어옴)
형 변환(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일에 확인함.