추천, 2024

에디터의 선택

형 변환과 형 변환 간의 차이점

하나의 데이터 유형을 다른 유형으로 변환해야 할 필요가있을 때 "유형 변환"및 "유형 변환"이라는 두 용어가 발생합니다. 두 유형이 서로 호환되면 한 유형의 변환이 컴파일러에 의해 자동으로 수행됩니다. 그러나 타입 변환과 타입 캐스팅에는 기본적인 차이가 있습니다. 즉, 타입 변환은 컴파일러에 의해 "자동으로"수행되는 반면, 타입 캐스팅은 프로그래머에 의해 "명시 적으로 수행"됩니다. 비교 차트를 사용하여 유형 변환 및 변환의 차이점을 설명 합니다.

비교 차트 :

비교의 근거유형 주조유형 변환
의미하나의 데이터 유형은 사용자가 캐스팅 연산자를 사용하여 다른 데이터 유형에 할당 한 다음 "유형 변환"이라고합니다.컴파일러에 의해 하나의 데이터 유형을 다른 유형으로 자동 변환하는 것을 "유형 변환"이라고합니다.
적용된형식 변환은 두 개의 '호환되지 않는'데이터 형식에도 적용될 수 있습니다.유형 변환은 두 데이터 유형이 '호환 가능'일 때만 구현 될 수 있습니다.
운영자자료 유형을 다른 자료 유형으로 3 스스팅하려면, '()'주조 연산자가 필요합니다.운영자가 필요하지 않습니다.
데이터 유형의 크기대상 유형은 소스 유형보다 작을 수 있습니다.여기서 대상 유형은 소스 유형보다 커야합니다.
구현 됨그것은 프로그램을 설계하는 동안 이루어집니다.컴파일하는 동안 명시 적으로 수행됩니다.
전환 유형
축소 변환.확대 전환.
int a;
바이트 b;
...
...
b = (바이트) a;
int a = 3;
부유 b;
b = a; // b = 3.000의 값.

유형 주조의 정의

유형 캐스팅은 프로그램 설계시 프로그래머가 다른 데이터 유형으로 한 데이터 유형을 캐스팅하는 것으로 정의 할 수 있습니다. 하나의 데이터 유형을 다른 유형으로 자동 변환하는 것은 항상 가능하지 않습니다. '대상 유형'이 '소스 유형'보다 작은 조건 일 수 있으므로 프로그래머는 캐스팅 연산자 '()'를 사용하여 더 큰 데이터 유형을 더 작은 데이터 유형으로 명시 적으로 변환해야합니다. 더 큰 데이터 유형은 더 작은 데이터 유형으로 변조되므로 '축소 변환'이라고도합니다.

선언:

 destination_type = (target_type) variable / value // 대상 유형은 소스 유형을 항상 대상 유형으로 변환하려는 유형입니다. 

예를 들어 이해해 봅시다. 'byte'가 'int'보다 작기 때문에 'int'데이터 유형을 'byte'로 변환하려고합니다. 유형 변환이 허용되지 않습니다. 여기에서는 캐스팅 연산자 '()'를 사용하여 'int'를 'byte'로 암시 적으로 변환해야했습니다. 'int'가 'byte'보다 크기 때문에 'int'의 크기는 'int mod byte'범위로 축소됩니다.

 int a; 바이트 b; ... ... b = (바이트) a; 

'float'이 'int'로 변환되면 'int'는 소수 값을 저장하지 않으므로 float의 크기는 잘립니다. 대상 유형의 크기가 소스 유형이 들어 가지 않을만큼 작 으면 소스 유형은 모듈 유형 대상 유형 '범위'입니다. 데이터 형식이 호환 가능할 때 캐스팅을 적용 할 수도 있으므로 형식 변환이 필요한 곳이면 항상 형식 캐스팅을 사용하는 것이 좋습니다.

유형 변환의 정의

유형 변환은 필요할 때마다 컴파일러에 의해 명시 적으로 수행되는 한 데이터 유형을 다른 유형으로 자동 변환하는 것입니다. 그러나 유형 변환 전에 만족해야 할 두 가지 조건이 있습니다.

  • 소스 및 대상 유형이 호환 가능해야합니다.
  • 대상 유형은 소스 유형보다 커야합니다.

이 두 종류 조건은 유형 변환을 달성하기 위하여 만족되어야하고, 이 종류의 변환은 더 작은 유형이 더 큰 유형으로 개조되고, 유형의 확대가 발생하기 때문에 '확대 변환'이라고 불린다. 이 확대 변환의 경우 'int', 'float'와 같은 숫자 유형은 서로 호환되며 숫자와 문자 또는 부울 또는 char 대 부울도 호환되지 않습니다.

이 예제는 이것에 대한 더 나은 시각을 제공 할 것이다.

 int a = 3; 부유 b; b = a; // b = 3.000의 값. 

여기서 'int'는 'int'보다 큰 'float'로 변환되므로 소스 유형이 확대됩니다. 컴파일러가 명시 적으로 수행하므로 캐스팅 연산자가 필요하지 않습니다.

유형 변환 및 변환의 주요 차이점

  1. 유형 변환과 유형 변환을 구별하는 기본적인 차이점은 유형 변환은 프로그래머가 한 유형을 다른 유형으로 변환한다는 것입니다. 반면에 유형 변환은 한 유형의 변환을 컴파일하는 동안 컴파일러가 수행하는 것입니다.
  2. 형식 변환은 서로 호환되지 않을 수있는 데이터 유형에 적용될 수 있지만 유형 변환은 서로 호환되는 데이터 유형에만 적용될 수 있습니다.
  3. 유형 변환에서 하나의 유형에서 다른 유형으로 변환하려면 유형 변환에서 하나의 데이터 유형을 다른 유형으로 변환하는 데 운영자 (operator)가 필요하지 않은 반면에 형변환 연산자 "()"가 필요합니다.
  4. 형식 변환에서 한 데이터 형식을 다른 형식으로 변환하는 동안 대상 형식은 원본 형식보다 크거나 작을 수 있습니다. 반면 대상 유형은 유형 변환시 소스 유형보다 커야합니다.
  5. 유형 변환에서 코딩하는 동안 한 유형의 다른 유형으로의 변환이 수행되는 반면, 유형 변환에서 한 유형의 다른 유형으로의 변환은 컴파일 중에 명시 적으로 수행됩니다.
  6. 여기서 유형 변환은 소스 유형보다 커야하기 때문에 유형 변환은 소스 변환 유형보다 작을 수 있기 때문에 유형 변환은 변환 변환이라고합니다.

결론:

타입 변환과 타입 캐스팅은 하나의 데이터 타입을 다른 타입으로 변환하는 작업을 수행하지만 캐스팅 연산자 '()'를 사용하여 타입 캐스팅이 프로그래머에 의해 수행되고 타입 변환이 컴파일러이며 연산자를 사용하지 않습니다.

Top