Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- java
- react
- printf
- UI/UX
- npm
- Clean Architecture
- println
- java 출력
- 자바스크립트
- firebase
- Flutter
- develop
- riverpod
- abap
- JQ
- unity
- 자바 출력 방식
- 자바 포맷 출력
- 앱심사
- DART
- 엡
- nodejs
- lifecycle
- LLM
- JS
- java 콘솔 출력 차이
- 단축키
- scss
- 배포
- ListView
Archives
- Today
- Total
guricode
자바에서의 자동형변환과 강제 형변환 , Implicit Casting & Explicit Casting 본문
web/java&spring
자바에서의 자동형변환과 강제 형변환 , Implicit Casting & Explicit Casting
agentrakugaki 2025. 6. 9. 15:36형 변환이란 값의 타입을 다른 타입으로 변환하는 것이다.
예를들면
float f = 1234;
는 1234가 int타입의 상수고 변수타입은 float이다.
이런경우 서로 타입이 다르므로
float f = (float)1234;
이렇게 우변의 타입을 변환해주어야하지만 float 타입의 변수는 1234를 저장하는데 아무런 문제가 되지 않으므로 형변환을 생략해도 된다. 이것을 자동 형변환( Implicit Casting)이라고한다.
자동형변환은 작은 자료형에서 큰 자료형 대입시 가능하다.
기본 자동형변환 순서
byte → short → int → long → float → double
↑
char (→ int)
이 순서는 외워두자
1. 변수 대입 시
int num = 100;
long bigNum = num; // int → long 으로 자동 형변환
2. 연산 시
int a = 10;
double b = 5.5;
double result = a + b; // int + double → double + double
3. 문자 → 정수 (char → int)
char ch = 'A';
int code = ch; // 'A'는 유니코드 값 65, 자동 형변환됨
System.out.println(code); // 출력: 65
자동 형변환이 되지 않는 경우는 큰 자료형에서 작은 자료형으로 대입할때이다.
큰상자를 작은상자에 넣는것과 같다.
이런경우에는 강제 형변환(Explicit Casting)이 필요하다.(명시적케스팅)
long big = 100L; int small = (int) big; // 명시적 형변환 필요
이때 주의할 점 byte, short, char는 연산 시 자동으로 int로 승격(promoted) 된다.
byte b1 = 10; byte b2 = 20; // byte b3 = b1 + b2; // 에러 발생 (int로 자동 승격됨) int result = b1 + b2; // OK
'web > java&spring' 카테고리의 다른 글
| 자바에서 scanner, nextInt, System.In의 의미와 용도 (2) | 2025.06.12 |
|---|---|
| 필요할때 보려고 올리는 아스키 코드표 (0~127) (0) | 2025.06.09 |
| 작성중]spring 어노테이션 ] @Controller, @GetMapping, @PostMapping (0) | 2025.06.09 |
| 내가 자주 쓸 것 같은 자바 단축키 보음 (1) | 2025.05.19 |
| [메모]println 과 printf의 차이 (0) | 2025.05.13 |