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
- 이클립스
- 상속
- springboot
- 리액트
- @transactional
- 빈
- Spring 개발환경 설정
- 스프링
- Spring legacy Project
- 의존성주입
- JVM
- 자동주입
- merge
- 인터페이스
- 깃허브
- pom.xml
- 영속성 컨텍스트
- 자바
- 트랜잭션
- react
- @Bean
- 어노테이션
- mysql
- 스프링 컨테이너
- list
- 객체
- DI
- github
- spring
- java
Archives
- Today
- Total
DEVLOG
[Java] 형변환 본문
형변환
캐스팅(casting) 이라고도 불리며, 변수 또는 상수 타입을 다른 타입으로 변환하는 것을 의미한다.
형변환 방법은 변수 또는 상수 앞에 변환할 타입을 적은 괄호를 붙여주면 된다.
package ch02;
public class Casting {
public static void main(String[] args) {
double fltNum = 1.32;
int one = (int)fltNum;
System.out.println(one); // 1
}
}
주의할 점은 아래 예제와 같이 기본형과 참조형간의 형변환은 불가능하다는 점이다.
package ch02;
public class Casting {
public static void main(String[] args) {
String strOne = "1"; // 참조형
int one = (int)strOne; // [에러] 참조형 -> 기본형
}
}
값손실
정수형간의 형변환에서 값손실이 발생할 수 있다.
가령 정수형의 int타입(4 byte)에서 byte타입(1 byte)로 변환하는 경우, 크기의 차이만큼 잘려나가 값손실이 발생할 수 있다.
자동 형변환
편의상 형변환을 생략할 수도 있는데, 이 때 형변환을 하지 않는 것은 아니고 컴파일러가 생략된 형변환을 자동적으로 추가한다.
또한 서로 다른 두 타입간의 연산 시, 값손실 위험을 줄이기 위해 두 타입 중 표현 범위가 더 넓은 타입으로 일치시킨 후 연산을 수행한다.
'Java' 카테고리의 다른 글
[Java] JRE와 JDK (0) | 2022.08.10 |
---|---|
[Java] Compiler vs Interpreter (0) | 2022.08.10 |
[Java] 유니코드 인코딩 (0) | 2022.08.04 |
[Java] Java SE 와 Java EE 차이점 (0) | 2022.08.04 |
[Java] JVM, 자바의 동작원리 (0) | 2022.08.04 |
Comments