Back-end/JAVA

5. 타입 변환

kade__ 2021. 6. 9. 12:35

-개요

데이터 타입을 다른 데이터 타입으로 변환하는 것

 

-자동 타입 변환

작은 타입을 큰 타입으로 변환하는 경우 자동으로 변환된다

byte < short < int < long < float < double

byte byteValue = 10;
int intValue = byteValue;

위의 코드 예와 같이 자동으로 타입이 변환된다.

 

-강제 타입 변환

큰 타입을 작은 타입으로 강제 변환하는 것이다

int intValue = 10;
byte byteValue = (byte) intValue;

위의 코드와 같이 소괄호 안에 강제 변환할 타입을 정해줘야 컴파일 에러가 안 난다.

이렇게 강제로 타입을 변환하는 것을 Casting 한다고 한다.

 

-연산식에서 자동 타입 변환

int = byte + byte

int = char + char

int = int / int literal

double = int / double or float literal

 

숫자와 문자를 +연산하면

숫자 + 문자열 = 숫자가 문자로 바뀌어서 모두 문자열로 표현된다

EX1 > 3 + "HI"를 출력하면 "3HI"가 출력된다.

EX2 > 3 + "3"을 출력하면 "33"이 출력된다.

 

-문자열 강제 변환

문자열로 입력돼있는 숫자를 형 변활 할 수 있다.

EX

String str = "10";

byte value = Byte.parseByte(str);

이와 같이 다른 기본 자료형에 맞는 타입을 parseXXX앞에 넣어서 입력한 타입에 맞게 강제 형 변환할 수 있다.