java.lang패키지4 : Math클래스, Wapper클래스

Math클래스 특징

  • final클래스 -> 상속X, 메서드오버라이딩X
  • 모든 멤버가 static 선언되어있음 -> 객체생성필요X

https://palpit.tistory.com/905




Math클래스의오버플로우 방지를 위한 연산

  • +연산자를 쓰는 경우 예외가 나야할 상황임에도 예외가 나지않고 쓰레기값이 출력된다
  • 이때 +연산자대신 addExact()를 사용하여 안전한 연산을 가능하게 해야한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
int i = Integer.MAX_VALUE;
int i2 = i+1;
System.out.println(i2); //쓰레기값발생
try{
int i3 = Math.addExact(i, 1);
System.out.println(i3);
} catch(ArithmeticException e) {
System.out.println("예외발생 : "+e.getMessage());
}

//출력값
-2147483648
예외발생 : integer overflow




Wapper클래스

  • 자바에서는 모든 것을 담을 수 있는 Object가 있다. Object로 배열을 만들면 다양한 종류의 객체들을 담을 수 있게된다. 단 기본형은 제외된다. WHY? 기본형데이터타입은 Object를 상속받지 않기때문! 이때 기본형 데이터를 wap해서 객체로 만들어 주는 것이 Wapper클래스이다.
  • 참고링크 : Wrapper클래스