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 형으로 바꾸는 것이다.
이런 것들이 있다는 것만 가볍게 알고, 진도를 넘어가자!