Type Conversion   형 변환, 타입 변환

(2020-08-18)

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

Top 정보기술(IT) 프로그래밍 프로그래밍 언어론 자료형/데이터형
Top 정보기술(IT) 프로그래밍 프로그래밍언어 종류 C C 변수,자료형

1. 형 선언(타입 선언), 형 변환(타입 변환) 이란?

  ㅇ 타입 선언/지정 (Type Declaration,Typing)
     - 미리 변수를 어떤 데이터형으로 사용할 지를 선언하는 것
     - 또는, 프로그래머가 새롭게 자료형을 정의하는 것
     * 한편, `변수 선언` 처럼, `타입 선언`도 타입에 이름 및 타입(자료형)을 지정하는 것

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


2. 형 변환(타입 변환)
  
  ㅇ 형 변환(타입 변환)의 이유
     - 혼합 형의 표현식을 평가하기 위하여
     - 원하는 형의 값을 얻기 위하여 

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

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


3. [C 언어/C++ 언어]  형 변환(타입 변환)

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

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

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


4. [자바스크립트]자바스크립트 언어에서의 형변환 ☞ 형변환 참조



Copyrightⓒ written by 차재복 (Cha Jae Bok)