Java

Object클래스 - Math클래스, 래퍼 클래스, Number클래스, 오토박싱, 은박인

레이코딩 2022. 10. 12. 00:59

출처 - Java의 정석 기초편 (남궁 성)


1. Math클래스
- 수학관련 static 메서드 집합
- round()로 원하는 소수점 아래 자리에서 반올림(100 곱하고 100.0 나누기)

 

90.7552 * 100 // 9075.52
Math.round(9075.52) // 9076
9076 / 100.0 // 90.76



2. Math메서드

 

static double abs(double a) // 절대값 반환
static double ceil(double a) // 올림
static double floor(double a) // 버림
static double max(double a, double b)
static double min(double a, double b)
static double random() // 0.0<=d<1.0
static double rint(double a) // 정가운데 짝수 반올림
static long round(double a)



3. 래퍼(wrapper) 클래스
- 기본형(객체 아님) 값을 감싸는 클래스
- 기본형을 객체로 다뤄야할 때 사용하는 클래스
- 기본형:래퍼클래스=1:1

 

public final class Integer extends Number implements Comparable { // 래퍼클래스 Integer
	private int value; // 기본형(int) 감싸고 있음
}

boolean → Boolean
char → Character
byte → Byte
short → Short
int → Integer
long → Long
float → Float
double → Double



4. Number클래스
- 추상클래스
- 모든 숫자 래퍼 클래스의 조상
- Object - Number - Byte, Short, Integer, Long, Float, Double, BigInteger, BigDecimal
- Long < BigInteger, Double < BigDecimal


5. 문자열을 숫자로 변환

 

int i = new Integer(“100”).intValue();
int i2 = Integer.parseInt(“100”); // 주로 사용
Integer i3 = Integer.valueOf(“100”);



6. 오토박싱, 언박싱
- 기본형과 참조형 간 컴파일러가 자동 형변환(원칙은 불가)
- 오토박싱(autoboxing): int → .Integer
- 언박싱(unboxing): Integer → int