SMALL
안녕하세요, 코린이의 코딩 학습기 채니 입니다.
개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.
Data Overflow란?
- 각 타입 별 최대값을 넘어서면 최소값으로 떨어지는 현상
public void test3() {
int i = Integer.MAX_VALUE;
System.out.println(i);
i = i + 1;
System.out.println(i);
}
@콘솔출력값
2147483647
-2147483648
위와 같이 int형의 최대값을 출력해보았고, +1을 해보았습니다.
그런데 결과 값은 최대값 그리고 +1을 했는데 최소값이 나온 것을 확인할 수 있습니다.
이러한 결과가 나오는 이유는 무엇일까?
쉽게 말하자면, 표현할 수 있는 자리수 (공간)는 정해져있는데 해당 범위를 넘어가버리니까 최소값으로 표현됩니다.
우리의 일상 중에서도 익숙한 전자 시계를 보면 확실히 이해할 수 있을 겁니다.
시계의 최대값은 23:59 이고 1분이 추가되었을 때 시계는 24:60으로 나오지 않고 표현할 수 있는 가장 최소값인 00:00으로 바뀝니다.(물론 24:00으로 표현 되는 시계도 보긴 했지만, 일반적인 시계로 예를 들자면요 ^^)
이러한 현상과 비슷하다고 생각하다면 위의 구조를 쉽게 이해할 수 있을 것입니다.
LIST
'Java > Java' 카테고리의 다른 글
문자열을 저장하는 String 참조형이란?, String 특징, String + 연산 (0) | 2022.02.28 |
---|---|
형변환(Type Casting)이란?, 암묵적 형변환, 명시적 형변환, ASCII CODE (0) | 2022.02.28 |
상수 (Constant Variable)란? (0) | 2022.02.25 |
변수와 자료형의 종류, 기본 자료형이란? (0) | 2022.02.25 |
콘솔 출력 메서드 (println, print, printf) (0) | 2022.02.25 |