'자바 자동형변환'에 해당되는 글 1건

  1. 2011.08.08 Java - 자동 형변환과 강제 형변환

Java - 자동 형변환과 강제 형변환

Java 2011.08.08 19:08

형변환은 기존 자료형을 다른 자료형을 바꿀 때 하는 것입니다.
예를 들어 byte에 있는 값을 int로 바꾸는 것을 들 수 있습니다.

하지만 boolean형은 ture/false 값을 같기 때문에 형을 변환할 수 없고
String형 또한 변환이 불가능 합니다.

형변환에는 두가지가 있습니다.

자동 형변환(promotion)
강제 형변환(casting)

자동 형변환은 말 그대로 자동적으로 형변환이 되는 것이고
강제 형변환은 강제로 형변환을 시키는 것입니다.

쓰레기를 넣을 때 큰 봉투에 작은 쓰레기를 넣으면 쉽게 넣지만
작은 봉투에 큰 쓰레기를 넣으면 꾸겨서 넣는 것을 생각하시면 됩니다.


자동 형변환 ( promotion )

자동적으로 형변환이 일어나는 것으로
작은 자료형에서 큰 자료형으로 변환할 때 일어납니다.
작은 자료형의 값을 큰 자료형으로 넣을 때는 작은 값이기 때문에 큰 자료형에서 받아들이는 것에 문제가 없습니다.
그래서 에러없이 자동적으로 형 변환이 일어납니다.

byte a = 5;
int b = a;

이런식의 구문을 예로 들 수 있습니다.
byte의 범위 값이 int형 범위에 포함되기 때문에 에러없이 변환이 되는 것입니다.
 

강제 형변환 ( casting )

강제적으로 형변환을 하는 것으로
큰 자료형의 값을 작은 자료형 값으로 변환할 때 쓰이게 됩니다.
자동 형변환 처럼 쓰게되면 아무리 int형에 있는 값이 byte형 범위 안에 포함된다해도 에러가 발생합니다.
그 에러를 없애고 형변환을 하기위해 강제 형변환 구문을 써서 변환을 시켜 줍니다.
강제 형변환을 하는 구문은 다음과 같습니다

변환해야할자료형 변수명 = (변환해야할자료형)넣을데이터;

예를 들면

int a = 100;
byte b = a;
이러면 에러가 발생하지만

int a = 100;
byte b = (byte)a;
이렇게 구문을 써서 변환을 시키면 에러없이 변환이 가능합니다.

두 가지의 형변환을 살펴보면서 한가지 알아두어야 하는 사실이 있습니다.
정수형 보다는 실수형이 큰 자료형이라는 점입니다.
정수형에서 실수형으로 형변환을 한다면 자동적으로 되지만
실수형에서 정수형으로 형변환을 하는경우 강제 형변환을 시켜줘야 하는 것입니다.

실수는 무조건 정수보다는 크다 이점을 외워두세요 .

저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'Java' 카테고리의 다른 글

Java - 자바 기본 입력  (1) 2011.10.05
Java - 자바 기본 출력  (0) 2011.10.04
Java - 자동 형변환과 강제 형변환  (0) 2011.08.08
Java - 상수, 변수, 자료형  (0) 2011.08.08
Java - 프로그램에서의 주의할 점  (0) 2011.08.03
Java - 프로젝트 생성하는 법  (0) 2011.08.02
Trackback 0 : Comment 0

Write a comment