Type Conversion   형 변환, 타입 변환

(2024-02-05)

강제 형 변환, 캐스트 연산자, Type Declaration, 타입 선언, 형 선언


1. [전산 일반]  형 선언 (타입 선언), 형 변환 (타입 변환) 이란?타입 선언, 형 선언 (Type Declaration, Typing)
     - 미리 변수를 어떤 데이터형으로 사용할 지를 선언/지정하는 것
     - 또는, 프로그래머가 새롭게 자료형을 정의하는 것

     * 한편, `타입 선언`도, `변수 선언` 처럼, 타입에 이름 및 타입(자료형)을 지정하는 것임

  ㅇ 타입 변환, 형 변환 (Type Conversion)
     - 이미 선언/지정된 자료형을 다른 자료형으로 해석/변경하는 것


2. [전산 일반]  형 변환 (타입 변환)의 이유 및 종류
  
  ㅇ 형 변환 (타입 변환)의 이유
     - 혼합 형의 표현식을 단일하게 평가하기 위하여
     - 원하는 형의 값을 얻기 위하여 

  ㅇ 형 변환 (타입 변환)의 종류
     - 자동 형 변환 (암시적 형 변환, implicit)
        . 컴파일러 등이 자동으로(알아서) 다른 자료형으로 형변환하는 것 

     - 강제 형 변환 (명시적 형 변환, explicit)
        . 프로그래머가 직접 형변환하는 것


3. [C 언어/C++ 언어]  암묵적 형 변환, 명시적 형 변환

  ㅇ 자동 형 변환 (암시적/암묵적 형 변환, implicit)
     * 통상, `작은 크기 -> 큰 크기`, `정수형 -> 실수형`으로 변환
        . 즉, 데이터손실이 가장 작은 방향으로 변환  :  형 확장 / 형 승격 (Type Promotion)

     - 표현식 내 우선순위에 의한 자동 형 변환
        . double > float > unsigned long > long > unsigned int > int > 
          unsigned short > short > unsigned char > char
           .. 표현식 내 모든 float는 double로 변환 됨
           .. short 및 char는 int로 변환됨
           .. 여러 피연산자 중 하나가 double이면, 모두 double로 변환됨  
                           
     - 대입연산에 의한 자동 형 변환 
        . 우변 자료형이 좌변 자료형으로 자동 형변환 (`=`의 왼쪽이 기준이 됨)
        . 문자형(char)은, 정수형(int)으로 변환됨
        . 실수형이 정수형으로 변환될 때, 소수점 이하는 절삭됨

  ㅇ 강제 형 변환 (명시적 형 변환, explicit)  :  (Type Casting)
     - 캐스트 연산자를 사용 : (괄호 사용)
        . C 언어 형식 : (자료형) 표현식
           .. 例) int a; (float) a; => 정수형 int를 실수형 float로 강제 형 변환
           .. 例) (int) 3.8; => 3 (반올림 없이 소수점 이하 버리고 정수형으로 형 변환)
        . C++ 언어 형식 : 자료형 (표현식)
           .. C 언어와는 달리, 자료형 다음에 오는 표현식에 괄호로 감쌈


4. 암묵적인 자동 형 변환 例)

  ㅇ [자바스크립트]  ☞ 형변환 참조

  ㅇ [파이썬]  ☞ 형변환 참조

[자료형/데이터형]1. 자료형   2. 형변환   3. 레코드  

[C 변수,자료형]1. C 변수   2. C 자료형   3. C 자료형 키워드,크기   4. C 형변환   5. 기억 클래스  

  1. Top (분류 펼침)      :     1,594개 분류    6,533건 해설

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]       편집·운영 (차재복)