JAVA/포스팅

자바 데이터 타입별 형변환

짜집퍼박사(짜박) 2023. 10. 29. 23:57

자바에서 데이터 타입 간의 형변환은 주로 기본 데이터 타입들 사이에서 발생합니다. 각 데이터 타입별로 형변환 방식과 주의점을 자세히 살펴보겠습니다.

 

1. 숫자형 타입 간의 형변환

1.1. 암시적 형변환 (Implicit Type Casting):
byte -> short -> int -> long -> float -> double

byte b = 10;
int i = b;      // byte에서 int로 암시적 형변환
double d = i;   // int에서 double로 암시적 형변환

1.2. 명시적 형변환 (Explicit Type Casting)

반대 방향의 형변환은 데이터 손실의 가능성이 있기 때문에 명시적으로 변환해야 합니다.

double d = 100.5;
int i = (int) d;  // double에서 int로 명시적 형변환. 소수점 아래 값은 제거됨.

 

2. char과 숫자형 타입의 형변환

char 타입은 내부적으로는 16비트 유니코드 정수로 관리되므로 숫자형 타입과 자유롭게 변환될 수 있습니다.

char c = 'A';
int charToInt = c;  // 'A'의 유니코드 값인 65가 저장됨

c = (char) charToInt;  // 다시 'A'로 변환됨

 

3. boolean 타입

boolean 타입은 다른 어떤 타입과도 자동 형변환되지 않습니다. 즉, boolean을 다른 타입으로, 또는 다른 타입을 boolean으로 변환하는 것은 허용되지 않습니다.

 

 

주의점

 

1. 데이터 손실 : 큰 타입에서 작은 타입으로 변환하면 데이터 손실이 발생할 수 있습니다. 예를 들어, double에서 int로 변환할 때 소수점 이하의 값이 제거됩니다.
2. 범위 초과 : 변환하려는 값이 대상 타입의 허용 범위를 초과하면 예상치 못한 결과가 발생할 수 있습니다. 예를 들어, 큰 값을 byte 타입으로 변환하면 값이 반전될 수 있습니다.
3. 명시적 형변환의 필요성 : 암시적 형변환은 자동으로 수행되지만, 명시적 형변환은 괄호 안에 원하는 타입을 지정하여 수행해야 합니다.

 

기본 데이터 타입 간의 형변환은 자바 프로그래밍에서 자주 발생하는 작업입니다. 변환 규칙과 가능한 한계를 잘 이해하고, 데이터 손실을 피하기 위해 적절한 타입을 사용하는 것이 중요합니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 자동 형변환  (0) 2023.11.01
자바 정수형과 실수형간의 형변환  (0) 2023.10.31
자바 형변환  (0) 2023.10.29
자바 음수의 2진 표현  (0) 2023.10.16
자바 실수의 진법 변환  (0) 2023.10.16