본문 바로가기
Back-End/JAVA

[JAVA]오버플로우

by codeZeroMan 2022. 4. 25.

overFlow

  • 사전적 의미 : '넘치다', '범람하다'를 의미하는 영단어.(출처 : 나무위키)
  • 변수의 사이즈는 유한하다. 즉 최대값이라는게 존재한다.
  • 최대값을 넘어가게 된다면 생각치 못한 오류가 발생한다.

예) 8비트로 구성된 변수가 있다.

  • 1번째 비트는 부호를 나타낸다.
  • 2번째부터 8번째는 수를 나타낸다. 이때 최대 표현 가능한 숫자는 127~-128
  • 127과 1을 더하면 아래와 같이 보인다. 이때 우리가 예상한 값은 128이지만 첫번째 부호값을 올라가게 되면서 -1이라는 값이 나오게된다. 이것을 오버플로우라고 한다.
  • 오버플로우가 발생한다고 Exception이 발생하지는 않는다. 하지만 값이 우리가 예상하는 값이 아니기 때문에 오버플로우에 대한 예외처리를 해야한다.

'Back-End > JAVA' 카테고리의 다른 글

[JAVA]Generic 명명 관례  (0) 2024.05.23
[EffectiveJava]생성자 대신 정적 팩터리 메서드를 고민하라.  (0) 2022.05.04
[JAVA]오버로딩  (0) 2022.05.04
[JAVA]데이터 타입  (0) 2022.04.25
[JAVA] NaN, Infinity  (0) 2022.04.25