래퍼(wrapper)Class
- 생성자는 매개변수로 문자열이나 각 자료형의 값들을 인자로 받는다.
- 생성자의 매개변수로 문자열을 제공할 때, 각 자료형에 맞는 문자열을 사용해야 한다.
<위 그림에서 Integer i = new Integer(100); ,Integer i2 = new Integer(100); 는 예제를 위한 것이다.>
<위 그림에 빨간줄이 있는 것은 아래 autoboxing 하면 사라진다..>
- 래퍼 클래스들은 모두 equals()가 오버라이딩되어 있어서 주소값이 아닌 객체가 가지고 있는 갑슬 비교
- toString()도 오버라이딩되어 있어서 객체가 가지고 있는 값을 문자열로 변환하여 반환
NumberClass
* JDK1.5부터 '오토박싱(autoboxing)' 로 인해 반환값이 기본형일 때와 래퍼클래스의 차이가 없어졌기에
valuOf를 쓰는것을 추천한다.
autoboxing & unboxing
- JDK1.5이전에서는 기본형과 참조형 사이의 연산이 불가했기에 래퍼클래스로 부터 기본형을 객체로 만들어 연산
- autoboxing = Integer형 변수에 int형 데이터가 들어갈 때 자동으로 int형 데이터가 Integer형으로 변환
- unboxing = int형 변수에 Integer형 데이터가 들어갈 때 자동으로 Integer형데이터가 int형으로 변환
ex) Object obj = (Object)Integer.valueOf(i);
나머지는 문자열 -> 래퍼클래스 표를 보면 된다.