도찐개찐
[JAVA] 형 변환(casting) 본문
형 변환(type conversion)
형 변환은 서로 다른 자료형 간에 연산 등의 수행을 위해 하나의 자료형으로 통일하는 것을 말함.
형 변환의 종류에는 묵시적 형 변환(explict type conversion)과 명시적 형 변환(implict type conversion)이 있습니다.
- primitive는 primitive끼리, reference는 reference끼리 형 변환.
- primitive와 reference 간의 변환은 wrapper class 사용 필요.
- boolean은 변환 불가. boolean을 제외한 나머지 7개의 기본 자료형은 서로간 형 변환 가능.
묵시적 형변환 ( UpCasting / Promotion )
- 작은 타입 -> 큰 타입
- 프로그램 실행 도중 자동으로 일어납니다.
- 동일 메모리를 소비하는 자료 형태 전환의 경우 데이터 손실이 발생 될 수 있습니다.
명시적 형변환 ( DownCasting / Casting )
- 큰 타입 -> 작은 타입
- 강제적으로 작은 메모리를 사용하는 자료형 형태로 변환 함으로써 데이터 손실이 발생 됩니다.
예제 1
public class TypeToType01 {
public static void main(String[] args) {
// 묵시적 형변환 (upCasting or promotion) : 작은 타입 -> 큰 타입
byte b01 = 100;
int i01 = b01;
System.out.println(i01);
// 명시적 형변환 (downCasting or casting) : 큰 타입 -> 작은 타입
int i02 = 100;
byte b02 = (byte) i02;
System.out.println(b02);
}
}
예제2
public class TypeToType02 {
public static void main(String[] args) {
// int to char
int i01 = 65;
char c01 = (char) i01;
System.out.println("int to char : " + c01);
// ascii
// char to int
char c02 = 'A';
int i02 = c02 + 1;
System.out.println("char to int : " + i02);
System.out.println((char)i02);
char c03 = '1';
char c04 = '2';
System.out.println((char) (c03 + c04));
// String to int
String sr01 = "65";
int i03 = Integer.parseInt(sr01); // 숫자로만 이루어진 문자열의 경우, 숫자로 바꿔줌
System.out.println(i03 + 1);
// int to String
int i04 = 66;
String sr02 = Integer.toString(i04); // 숫자를 문자열로 바꿔줌
System.out.println(sr02 + 1);
System.out.println(sr02 + 2);
String sr03 = String.valueOf(i04); // 숫자를 문자열로 바꿔줌
System.out.println(sr03);
}
}
참고 : https://printf100.tistory.com/9
728x90
'JAVA' 카테고리의 다른 글
[JAVA] 배열(Array) (0) | 2022.06.29 |
---|---|
[JAVA] 연산자(Operator) (0) | 2022.06.29 |
[JAVA] 변수와 상수 (0) | 2022.06.29 |
[JAVA] 자료형(Data Type) (0) | 2022.06.29 |
[JAVA] InteliJ 0.0.0.0.0.1 수정 (0) | 2022.05.07 |
Comments