Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

데이터 변환 본문

Java

데이터 변환

빌드이너프 2023. 1. 25. 16:55
데이터를 한 형에서 다른 형으로 변환하고 싶은 경우가 있을수도 있음
이러한 데이터 변환은 변수의 데이터 형이나 그 안에 저장된 값을 바꾸지 않음

확장 변환

  • 작은 크기의 데이터 형에서 더 큰 크기의 데이터 형으로 변환하는 것은 안전함
  • ex. short 형 -> int 형으로 변환하는 것은 정보를 잃어버리지 않기 때문에 안전함

 

축소 변환

  • 큰(혹은 복잡한) 데이터 형에서 더 작은(혹은 간단한) 데이터 형으로 변환될 때 정보를 잃어버릴 수 있음
  • ex. double 형 -> int 형으로 변환하는 것은 소수점 이하 값을 잃어버림
  • 꼭 필요한 경우가 아니면 가능한 피해야함

배정문 변환(assignment conversion)

  • 한 데이터 형의 값이 다른 데이터 형의 변수에 저장될 때 일어남
int score = 7;
double value = score;
  • score의 현재 값인 7을 double 형 실수 값으로 변환하여 value에 저장함
  • 이때 변수 score 값이나 데이터 형은 변화하지 않음

 

승급 변환(promotion)

  • 연산식에 있는 연산자들이 피연산자들을 변환할 때 자동적으로 일어남
double total = 85.2;
int count = 17;
double average = total / count;
  • 나눗셈(/)을 수행하기 전 total이 실수형이므로 실수형 나눗셈을 수행하기 위해 count의 값이 정수형(int)에서 실수형으로 변환됨

 

강제 변환(casting)

  • 강제로 형 변환을 하기 위해 변환되는 값 앞에 괄호 안에 변환되는 형을 넣음
double point = 3.8;
int answer = (int) point;
  • double 형 변수의 값이 int 형 변수에 저장될 때 반올림하지 않고 소수점 이하의 값을 버림
  • 이 과정에서 정보의 손실이 일어남
  • 가장 강력하지만 위험한 방법으로 확장 변환, 축소 변환 모두 가능

 

 

'Java' 카테고리의 다른 글

클래스와 객체  (0) 2023.01.31
System.in / 구분문자(delimiter)  (0) 2023.01.30
연산자  (0) 2023.01.25
배정문  (0) 2023.01.25
데이터 유형  (0) 2023.01.25