형변환(casting)

seni·2024년 6월 18일

JAVA

목록 보기
11/34

자동 형변환

  • 작은 타입 -> 큰 타입 형변환 시
  • 갑의 손실 X -> 그래서 컴파일러가 자동으로 변환해줌
        int intNumber = 10;
        double doubleNumber = 5.5;
        double result = intNumber + doubleNumber;
        System.out.println(result);
    }
//출력 : 15.5

명시적 형변환(강제 형변환)

  • 큰 범위에서 작은 범위로 대입은 명시적 형변환이 필요하다
  • 값의 손실 생김
  • 소수점 버리고 정수로만 보고싶을때!
  • ex)정수형에서 실수형으로 형변환```
    int x = 10;
    double y = (double) x;

![](https://velog.velcdn.com/images/seni/post/884fc620-1627-4c6e-8904-37e87dab66db/image.png)
- 다음과 같이 변경하고 싶은 데이터 타입을 (int)와 같이 괄호안에 입력해준다!

```			doubleValue = 1.5;
			intValue = (int) doubleValue;
			intValue = (int) 1.5; 			//doubleValue에 있는 값을 읽는다(1.5)
			intValue = (int) 1;				//(int)로 형변환 한다. intValue에 int형인 숫자 1을 대입한다.
  • 형변환을 한다고 해서 doubleValue 자체의 타입이 변경되거나 그 안에 있는 값이 변경되는 것은 아니다.
  • doubleValue에서 읽은 값을 형변환 하는 것!
  • doubleValue 안에 들어있는 값은 1.5 그대로 유지된다.

오버플로우

  • 이렇게 기존 범위를 초과해서 표현하게 되면, int 형의 맨 처음(제일 작은수)로 돌아가 처음부터 다시 시작되는데, 이런 현상을 '오버플로우'라고 한다.

형변환 자세히 이해

profile
개발일지

0개의 댓글