4.문법 기초


4.6 형변환(Type Casting)

  형변환이란, 말그대로 형(Type)을 변경하는 것을 말하는데, 다음과 같은 두가지 방법으로 분류된다.

  • 명시적 형변환 : 형의 변환을 직접 프로그램에 명시하는 방법
  • 자동 형변환 : 별도의 명시없이도 컴파일러가 자동으로 형을 변환하는 것
  연산을 배우기에 앞서 형변환에 대한 강의를 먼저하는 이유는 연산하는 과정중에 형 변환의 필요성이 발생한다는 점 때문이다. 예를 들어서 하나 보자.

  다음과 같은 int형과 double형이 복합적으로 나타나는 수식을 계산하는 예를 보자.

2 + 3 * 4 + 1.0

  사칙연산의 계산 우선순위에 의해서 먼저 3 * 4가 수행된다. 둘다 int형이므로 계산 결과는 기본적으로 int형이 된다. 즉,12가 되면서 식은 다음과 같이 변경된다.

2 + 12 + 1.0

  자 이제, 덧셈은 왼쪽부터 차례로 진행이 되니까 2 + 12가 계산된다. 값은 14이고 역시 int형이다. 이제 식은 다음과 같이 간단해 진다.

14 + 1.0

  문제는 여기서 부터이다. int형의 14와 double형의 1.0을 덧셈하게 되는 것이다. ( 소수점이 있는 숫자는 기본적으로 double 인식된다고 앞에서 얘기했다. )

  결과는 당연히 15.0이라고 할 수 있는데, 문제가 되는 것은 이 15.0이라는 값은 double형이라는 점이다.

  소수점이 없는 그냥 15는 int형이다. 그렇다면 int형과 double형을 연산하면 자동으로 double형으로 변경이 되었다는 것인데, 이러한 것을 자동 형변환이라고 하며, 자바도 이를 지원하고 있다.

  다음은 숫자들에 대한 연산시에 자동 형변환이 일어나는 규칙이다.
  • 같은 유형끼리 연산은 결과도 같은 유형으로 된다.
    (단, byte, short은 int형 계산을 따라간다.)

  • 연산에 자기보다 큰 유형이 존재하면 자동으로 큰 유형으로 변환이 된다.
    int형 -> long형 -> float형 -> double형

  • byte, short, int형은 연산시에 무조건 int형으로 자동으로 변환된다.
  이제 위의 예들을 보면서 하나씩 살펴보도록 하자.

- Last Update : 2002.04.20 by Deadfire(http://www.deadfire.net)

Java 언어 기초
서 언
Install
First Example
문법기초
     - 주석
     - 구분자
     - 명명규칙
     - 리터럴
     - 변수(기본타입)
     - 형변환
     - 연산자
     - 조건문
     - 반복문

Copyright ⓒ 1997 ~, Deadfire Program Master