Type Casting - Java

choizz156·2022년 9월 7일
0

Java Basic

목록 보기
4/10

Type Cating

  • 타입을 변화시키는 것을 의미한다.
  • Cast operator ()를 이용하여 타입을 변화시킬 수 있다.
  • 데이터의 크기가 큰 타입에서 작은 타입으로 캐스팅을 할 때 직접 ()사용해 주어야 한다.
  • [변경하려는 데이터 타입] = (변경하려는 데이터 타입) 변수;
{
	double a = 3;
		
	int d = (int)a; // 더 작은 데이터 타입으로 캐스팅 (Narrow casting)(직접해야함.)
	               //저장되는 값이 변수 타입의 크기보다 크면 뒤가 잘려나간다.
}
  • 변경하려는 데이터의 크기가 크면 자동으로 변환된다.
  • 두 데이터 타입이 호환되어야 한다.
    double > float > long > int > short > byte
    👉 long이 float보다 바이트 값은 크지만 표현할 수 있는 값이 더 정밀하기 때문에 자동으로 변환된다.
    👉 char타입과 integer형은 서로 호환될 수 없기 때문에 캐스팅이 불가능하다.

Type Promotion

  • 각각 다른 데이터 타입 연산 시 변수들이 피연산자의 범위를 넘어갈 수 있으므로 그 변수들은 자동으로 타입이 승격된다.
  • 자바가 연산식을 컴파일 할 때, byte, short, char 타입은 모두 int 타입으로 자동 변환된다. 이 때, char 값은 유니코드 값이 나온다.
  • 하나의 피연산자 값이 long이나 float, double이 있으면, 전체의 표현식이 각 타입으로 승격된다.
		long a = 3;
        byte b = 2;
        double c = 2.0;
        char d = 'a'
     
 double final_datatype = (a + b + c+ d); // 각각 다른 데이터 타입이 다르지만 모두 double로 자동 변환된다.
 final_datatype ==> 104.0

reference
https://www.geeksforgeeks.org/type-conversion-java-examples/

profile
조금씩 성장하는 개발자...!

0개의 댓글