본문 바로가기
Begin 2018

자바 프레임워크 과정 - 수강 4일차 (형변환)

by ZEROMI 2018. 4. 6.
728x90

* 형변환(Casting)

 : 값의 자료형을 바꾸는 것

  단, boolean은 제외.


 => cast 연산자(형변환 연산자) 사용함

   - 2순위인 단항연산자임.

   - (바꿀자료형)값 또는 변수


=> 자동형변환과 강제(명시적) 형변환으로 구분할 수 있음

   - 자동형변환 

1. 자료형이 다른 값끼리 계산될 때

: 메모리 할당 크기가 큰 자료형으로 모두 바뀐 다음 계산됨.

int a = 12;

double d = 3.3;

double result = a + d => 12 + 3.3 => 12.0 + 3.3 => 15.3


2. 메모리 할당 크기가 큰 변수에 작은 자료형 값이 대입될 때

double dnum = 123;

//123(int) 이 123.0(double) 으로 바뀜 >> 123.0 이 dnum 에 대입됨.


   - 강제(명시적) 형변환

: 소스 코드상에 직접 바꿀 자료형을 cast 연산자를 이용해서 명시함.

* 크기가 큰 자료형 값을 작은 크기의 자료형 값으로 바꿀 때

int a = (int)3.9;

char ch = (char)97;


** 컴퓨터의 값 처리 원칙 ==> 원칙이 지켜지지 않은 경우에 형변환 필요함

  - 같은 종류끼리만 대입가능

  - 같은 종류끼리만 계산가능

  - 계산의 결과도 같은 종류의 값이 나와야 함


 ** 자바는 byte와 short  자료형 값의 계산 결과는 무조건 int 로 처리함.

byte b1 = 10;

byte b2 = 20;

byte b3 = b1 + b2; //error -> 결과 자료형이 int임


byte b3 = (byte)(b1 + b2);

or

int num = b1 + b2;






728x90