개요

데이터 타입이 변환되는 이야기

 


정의

객체의 데이터는 타입에 따라 해석이 달라진다.

그러나 사용하다보면 정수형 객체를 통하여 실수형 결과를 얻어야 할 때가 있다.

이러한 상황에서 변환(Conversion)을 통해 원하는 데이터 타입의 값을 얻을 수 있다.

 

 

명시적 변환과 암시적 변환

명시적 변환 (Explicit Conversion) = 캐스팅 (Casting)

명시적 변환은 객체의 타입을 작업자의 의도에 맞춰 변환시키고 싶은 경우 사용된다.

만약 정수형 타입간의 연산이 실수형 결과를 나타내야할 경우 명시적 변환을 사용하여 나타낼 수 있다.

원하는 결과값을 얻기 위하여 변수의 타입을 명시적으로 변경해야할 경우,

변수의 이름(식별자) 앞에 변경할 타입을 명시해 주면 된다.

 

*주의!!

명시적 변환은 작업자의 의도에 의하여 타입이 변경되어 데이터의 손실이 발생할 수 있다.

 

암시적 변환 (Implicit Conversion)

위 상황을 살펴보면 num2는 명시적 변환이 이루어졌지만 num1은 정수타입인 것을 볼 수 있다.

num1과 num2의 타입이 다른 상황에서 왜 결과는 실수형 타입으로 반환되었을까.

이것은 암시적 변환 규칙 따라 변환이 이루어졌다는 것을 알 수 있다.

암시적 변환은 타입의 매치가 이루어지지 않았을 때, 데이터를 보존할 수 있는 방향으로 변환된다.

728x90

'Program > C (C++,C#)' 카테고리의 다른 글

[C] 포인터 ( Pointer )  (0) 2022.05.29
[C] 입력과 출력 ( printf 만들기 )  (0) 2022.05.08
[C] 객체 ( Object )  (0) 2022.05.07
[C] 식별자 ( ID / Identifier )  (0) 2022.05.07
C언어 프로그래밍  (0) 2022.04.25

+ Recent posts