티스토리 뷰

▶자바에서의 형변환(Casting)
이번 글에서는 자바에서의 형변환(Casting)에 대해 알아보려고 합니다!
🔎 형변환이란?
코드를 작성하다 보면 같은 타입뿐만 아니라 서로 다른 타입간의 연산을 수행해야 하는 경우가 있습니다.
이럴 때는 연산을 수행하기 전에 타입을 일치 시켜야 합니다.
이때 기존 타입을 다른 타입으로 변환하는 것을 형변환(Casting)이라고 합니다.
형변환에는 자동 형변환 & 강제 형변환 & 문자열 형변환 정도로 나누어 볼 수 있는데요.
자세하게 알아보도록 합시다.
📌 자동 형변환
자동 형변환은 프로그램 실행 도중에 자동적으로 형변환이 일어나는 것을 말합니다.
자동 형변환은 작은 메모리 크기의 데이터 타입을 큰 메모리 크기의 데이터 타입으로 변환하는 행위인데요.
가장 대표적인 예를 코드를 통해 알아보도록 합시다.
정수와 실수가 함께 연산이 되면 → 더 큰 메모리 크기의 타입인 실수 타입으로 변환되게 됩니다.
// 정수(4byte) & 실수(8byte) => 실수(8byte)
System.out.println(5.0 / 2); // 2.0
System.out.println(3 + 0.0); // 3.0
📌 강제 형변환
큰 메모리 크기의 타입은 작은 메모리 크기의 타입으로 자동 타입 변환을 할 수 없습니다.
하지만 강제로 형변환을 하여 타입 변수에 저장할 수도 있는데요.
이때 초과하는 byte느 버려지게 됩니다.
작은 크기 타입 = (작은크기타입) 큰 크기 타입
System.out.println((double)5 / 2); // 2.5
System.out.println((int)8.43 + 2.59); // 10.59
System.out.println((int)(8.43 + 2.59)); // 11
System.out.println((int)8.43 + (int)2.59); // 10
📌 문자열 형변환
1️⃣ 다른 자료형 → 문자열
문자열과 다른 일반 자료형을 연결하면 결과는 문자열이 됩니다.
System.out.println("1" + 3); // 13
System.out.println("1" + 3 + 8); // 138
2️⃣ 문자열 → 다른 자료형
일반 자료형은 일반 자료형끼리만 형변환이 가능합니다.
따라서 문자열 타입은 클래스 타입이므로, 일반 자료형의 클래스 타입의 도움을 받아야 하는데요.
System.out.println(Integer.parseInt("1") + 3 + 9); // 13
System.out.println(Double.parseDouble("3.9") + 9); // 12.9728x90
LIST
'백엔드 > Java' 카테고리의 다른 글
| [Java] 자바 static의 의미와 사용법 (0) | 2023.01.31 |
|---|---|
| [Java] 클래스(Class) 기본개념 (0) | 2023.01.29 |
| [Java] 자바에서 상수(Constant)란? (0) | 2023.01.19 |
| [Java] 자바(Java)의 변수와 자료형 (0) | 2023.01.19 |
| [Java] 자바(Java) 기본 구조 (0) | 2023.01.19 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 파이썬
- JSP
- 머신러닝
- 프론트엔드 공부
- rtl
- testing
- 자바스크립트 기초
- 타입스크립트
- frontend
- 자바스크립트
- 데이터분석
- react
- 프론트엔드 기초
- CSS
- 디프만
- 인프런
- 프론트엔드
- TypeScript
- 리액트 훅
- 프로젝트 회고
- 딥러닝
- jest
- react-query
- next.js
- Python
- styled-components
- HTML
- 리액트
- 스타일 컴포넌트 styled-components
- 자바
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
글 보관함