Study/Java

Java. Wrapper 클래스, Number 클래스

염몽이 2023. 4. 1. 20:26

wrapper 클래스란?

8개의 기본형 (boolean, char, int, long 등) 을 객체로 다뤄야할 때 사용하는 클래스

기본형 첫글자를 대문자로 바꾸기만 하면 된다.

 

 

원래 Java는 객체 지향언어이기 때문에, 객체로 다루어야한다.

하지만 왜, 기본형들은 객체 처리를 안했을까? 

 

답은 성능 때문이다. 

 

기본형 : 직접 접근 가능

참조형: 참조 변수를 만들고, 참조 변수를 객체 주소에 연결

 

아래와 같이 예제로 살펴 보자.

 

equals() : true가 나온 이유는 오버라이딩 되어있기 때문에 값을 비교한다.

  ==로 비교하면 주소값을 비교하는 것이므로 false가 출력

compareTo() :

  같으면 0, 왼쪽보다 오른쪽이 더 크면 음수, 작으면 양수이다.

toString() : 문자열로 출력

 

Integer.SIZE : integer가 몇 bit 인지 

Integer.BTYES : byte

Integer.TYPE : integer의 타입 int

 

나머지의 래퍼 클래스도 다 비슷하다.

 


Number 클래스란?

모든 숫자 래퍼 클래스의 조상은 Number 클래스

 

 

BigInteger : 아주 큰 정수 (Long보다 큰 것)

BigDecimal : 아주 큰 실수 (Double보다 큰 것)

 

Number 클래스는 추상 클래스이고,

 

래퍼의 객체를 기본형으로 바꾸는 메소드들을 가지고 있다. (아래 코드)

Integer i = new Integer("100");

i = i.intValue();

Integer 타입을 int 형으로 바꾸는 것이다.

 

이런 것들이 있다는 것만 가볍게 알고, 진도를 넘어가자!