본문 바로가기

Back-End/JAVA7

[JAVA]데이터 타입 데이터 타입 기본 타입 정수, 실수, 문자, 논리 리터널을 저장하는 타입 정수타입 byte, char, short, int, long 실수타입 float,double 논리타입 boolean 참조타입 객체의 주소를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 타입을 말한다. 배열타입 열거타입 클래스 인터페이스 기본 타입은 실제 값을 가지고 있고 참조타입은 메모리의 저장된 실제값의 주소값을 가진다. 기본타입의 비교는 실제 값이 같은지를 판단하지만 참조타입은 동일한 객체(객체의 주소값)를 참조하는지 비교한다. 2022. 4. 25.
[JAVA] NaN, Infinity 5 / 0 -> ArithmeticException 발생 5 % 0 -> ArithmeticException 발생 5 / 0.0 -> Infinity 5 % 0.0 -> NaN 수학에서는 0으로 나누는 것은 불가능하다. 자바에서도 정수형 0으로 나누는 것을 불가능하지만 부동소수점 타입으로 0.0을 넣으면 계산은 가능하다. Infinity, NaN 이후에 계산후 모두 같은 값이 나오므로 이값들은 예외처리를 해야한다. 2022. 4. 25.
[JAVA]오버플로우 overFlow 사전적 의미 : '넘치다', '범람하다'를 의미하는 영단어.(출처 : 나무위키) 변수의 사이즈는 유한하다. 즉 최대값이라는게 존재한다. 최대값을 넘어가게 된다면 생각치 못한 오류가 발생한다. 예) 8비트로 구성된 변수가 있다. 1번째 비트는 부호를 나타낸다. 2번째부터 8번째는 수를 나타낸다. 이때 최대 표현 가능한 숫자는 127~-128 127과 1을 더하면 아래와 같이 보인다. 이때 우리가 예상한 값은 128이지만 첫번째 부호값을 올라가게 되면서 -1이라는 값이 나오게된다. 이것을 오버플로우라고 한다. 오버플로우가 발생한다고 Exception이 발생하지는 않는다. 하지만 값이 우리가 예상하는 값이 아니기 때문에 오버플로우에 대한 예외처리를 해야한다. 2022. 4. 25.