자바에서 데이터형의 변환은 Conversion방식과 Casting방식 두 가지가 있다.
■ Conversion
컨버전은 작은 데이터형에 큰 데이터형의 값을 할당할 때 생기는 변환이다. int형으로 선언된 변수에 byte형으로 선언된 변수의 값을 할당하면 자동으로 int형 변수에는 byte값이 int형으로 변환된 값으로 할당된다. 컨버전 방식의 형 변환은 자동적으로 이루어진다.
■ Casting
큰 데이터 형을 작은 데이터형에 넣을 때는 명시적으로 데이터형의 변환을 지정해야 한다. 이 때 형 변환을 지정하지 않는다면 컴파일 에러가 발생되며 값이 할당되지 않는다. 아래와 같은 코드가 Casting 이 적용되는 형 변환이다.
형 변환이 발생하지 않는 예)
byte b = a;
형 변환이 발생하는 예)
byte b = (byte)a;
이 때 자료형을 넘는 데이터는 소실된다.
※ char형 데이터를 int형으로 변환하기
char형 데이터를 int형으로 변환시킬 때에는 char형 데이터의 유니코드 값이 int형으로 변환된다.
char c = 'a';
int value = (int)c;
System.out.println(c); // 'a' 출력
System.out.println(value); // '97' 출력
}
※ 문자열의 데이터형 변환
데이터가 문자열인 경우 자바에서는 객체로 접근한다. 따라서 컨버전이나 캐스팅으로는 형 변환을 할 수 없다. 문자열의 형 변환을 시켜야 하는 경우에는 Wrapper 객체를 사용해야 한다. int형에서 String형으로 변환을 할 때는 String 객체의 valueOf() 메소드를 사용한다.
String str = String.valueOf(value);
String형에서 int형으로 변환할 때는 Integer객체의 parseInt() 메소드를 사용하여 변환시킨다. 이 때 변환하고자 하는 문자열이 숫자값이 되어야 하며 문자열이 숫자값이 아닌 경우 NumberFormatException이 발생해 throws해 버린다.
int value = Integer.parseInt(str);
'자바(Java) > JAVA 2SE' 카테고리의 다른 글
반복문 - for 문 (0) | 2010.12.01 |
---|---|
자바 에러의 종류와 설명 (0) | 2010.12.01 |
자바의 변수와 데이터 타입 (0) | 2010.11.29 |
추상클래스와 인터페이스의 사용 (0) | 2010.11.29 |
다형성(Polymorphism)이란? (0) | 2010.11.29 |