본문 바로가기
BackEnd/Java

JAVA] 형변환 테스트

by pplucy 2020. 11. 11.

** 형변환(casting)

     : 자동형변환(자바가 알아서 형변환), 강제형변환(개발자가 명시적으로 형변환)

 

 - 형변환이 필요한 이유 : 값처리 규칙 때문 !

   1.  같은 자료형끼리 대입

   2. 같은 자료형끼리 연산(ex. byte와 int 연산 못함)

        - 다른 자료형의 값을 넣고 싶을 경우 다른 자료형을 강제로 형변환 시켜 대입해야한다.

 

 

* 자동형변환

- 크기가 작은 타입의 값을 크기가 큰 타입의 변수에 담으려고 하면 자동형변환이 발생한다.

- 값의 손실이 발생하지 않을 때 자동현변환이 발생하는 것

ex) byte bnum = 100; ----> byte는 1바이트

      int inum = bnum;  ----> int는 4바이트

     ---> bnum 이 int에 대입(담긴다)가 된다.

             작은 수가 큰 수에 대입되는 경우 자동형변환이 발생한다.

 

 

* 강제형변환

- 형변환을 할 경우에 데이터 손실이 발생하는 경우

  1) 크기가 큰 타입의 변수를 크기가 작은 타입의 변수에 잠으려고 할 때

  2) 실수타입의 값을 정수타입의 변수에 담으려고 할 때, 이떄 정수는 소수점 아래의 수를 버림 처리!

      (이렇게 되면 데이터 손실이 발생하게 된다.)

ex)  int inum = 100;  

       byte bnum = (byte)inum; 

     ---> inum(큰수) 가 byte(작은수)에 담기게 되는 상황이라

             (byte)inum으로 강제 형변환 시켜줘야 한다.

 

             

 

 

 

 

댓글