데이터 타입 변환(Casting)의 묵시적 형 변환과 명시적 형 변환

Yeppi's 개발 일기·2022년 4월 28일
0

JAVA

목록 보기
5/27

1. 데이터 타입 변환(형 변환, Type Casting)

개념

  • 서로 다른 자료형 간에 연산등의 수행을 위해 하나의 자료형으로 통일하는 것

  • 묵시적 형 변환(explicit type conversion, 자동 형 변환)
    명시적 형 변환(implicit type conversion, 강제 형 변환)

  • 바이트 크기가 작은 자료형 → 자료형으로 자동 형 변환
    덜 정밀한 자료형 → 더 정밀한 자료형으로 자동 형 변환

데이터 타입별 크기



2. 묵시적 형 변환(UpCasting / Promotion)

개념

작은 크기 → 큰 크기

  • 자동 형 변환
  • 별 다른 조치 없이 자동으로 타입 변환

  • byte 타입의 변수가 int 타입의 변수로 묵시적(자동) 형 변환
byte bNum = 10;
int iNum = bNum;  
  • int 타입의 변수가 float 타입의 변수로 묵시적(자동) 형 변환
int iNum1 = 20;
float fNum = iNum2;


3. 명시적 형 변환(DownCasting / Casting)

개념

큰 크기 → 작은 크기

  • 강제 형 변환
  • 묵시적 형 변환과 반대
  • () 를 사용해 Casting하기

  • int 타입의 변수가 byte 타입의 변수로 명시적(강제) 형 변환
int iNum = 10;
byte bNum = (byte)iNum;
  • double 타입의 변수가 int 타입의 변수로 명시적(강제) 형 변환
double dNum = 3.14;
int iNum2 = (int)dNum;


묵시적&명시적 형 변환 동시에 사용하기

// 묵시적 형 변환
char charA = 'A';		
int intA = charA;		
System.out.println("문자A(char) -> 정수(int) : " + intA);


// 명시적 형 변환
int intZ = 90;
char charZ = (char) intZ;
System.out.println("정수90(int) -> 문자Z(char) : " + charZ);

출력 결과

🧐 문자형도 Casting이 가능하다는 것을 알아두자!

profile
imaginative and free developer. 백엔드 / UX / DATA / 기획에 관심있지만 고양이는 없는 예비 개발자👋

0개의 댓글