일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- React
- node.js
- CLASS
- 연습문제
- 코딩테스트
- CSS
- 백준
- 프로그래머스
- 정렬
- 알고리즘
- bfs/dfs
- Python
- Baekjoon
- SWEA
- greedy
- 네트워크
- 자바
- javascript
- js
- 이것이 코딩테스트다 with 파이썬
- 자바스크립트
- Typescript
- programmers
- Lv1
- Lv2
- Java
- Next.js
- 그리디
- 코딩테스트 입문
- 프로그래머스 JS
Archives
- Today
- Total
개발야옹
[JAVA] 데이터 타입 변환 본문
자바는 두 가지 형태의 데이터 타입 변환을 지원한다.
1. 묵시적 타입 변환
2. 명시적 타입 변환
묵시적 타입 변환
묵지거 타입 변환(promotion)을 자동 변환이라고 하며, 말 그대로 별다른 조치 없이 자동으로 타입이 변환되는 것을 의미한다.
이런 묵시적 변환은 작은 크기의 데이터가 큰 크기의 타입으로 변환되는 경우에 한해 제공한다. 즉, 묵시적 타입 변환은 데이터의 크기와 관련되어 있다.
public class PromotionTest {
public static void main(String[] args) {
int inAvg = 87;
double doubleAvg = intAvg;
System.out.println("double로 변환된 평균값 : " + doubleAvg); // 87.0
}
}
실행 결과에서 확인할 수 있듯이 int 타입의 intAvg 값이 실수 타입인 doubleAvg 변수에 할당되는 순간 정수 87이 실수 87.0으로 변환되었다. 즉 데이터 타입이 int에서 double로 변환된 것이ㅏㄷ.
명시적 타입 변환
명시적 타입 변환(casting)은 묵시적 타입 변환의 반대이다. 즉 큰 크기의 데이터를 작은 타입의 데이터로 변환하는 것이다.
데이터가 훼손돼도 프로그램을 처리하는 데 지장이 없다면 타입 변환을 통해 필요한 만큼의 데이터만 사용할 수도 있다.
public class CastingTest {
public static void main(String[] args) {
double doubleAvg = 87.24;
int intAvg = (int) doubleAvg;
System.out.println(intAvg); // 87
}
}
위 소스는 8byte의 값을 4byte의 변수에 할당한다. 이때 명시적 타입 변환을 통해 소수점 이하의 데이터를 잘라내고 있다. 따라서 intAvg 변수에 할당된 값은 double이 아닌 int로 변환된 87이다.
728x90
'Language > JAVA' 카테고리의 다른 글
[JAVA] 배열 (0) | 2023.10.18 |
---|---|
[JAVA] 이름이 있는 break (0) | 2023.10.18 |
[JAVA] 연산자 (1) | 2023.10.17 |
[JAVA] 데이터 타입 (1) | 2023.10.17 |
[JAVA] 자바 변수 (0) | 2023.10.17 |