Wrapper 클래스
- java.lang 패키지에 있습니다
- 데이터를 감싸는 용도의 클래스로 변수값들을 감싸서 객체(인스턴스)로 만들어준다.
- 기본자료형 데이터를 객체로 변경해 주면 각 자료형 별로 Wrapper클래스가 따로 존재합니다.
각 Wrapper클래스의 이름은 기본자료형의 첫글자를 대문자로 변경하면 클래스이름이 됩니다.
단, int는 Integer, char는 Character 존재합니다.
- 기본자료형 데이터를 객체(Wrapper 인스턴스)로 변환하는 것을 Boxing이라 하고, 반대로 객체를 기본자료형 데이터로 변환하는 것을 UnBoxing이라고 합니다.
- 주요 메소드 : 거의 유일하게 자주사용되는 메소드
static int parseInt(String s) : 매개변수의 문자열을 int로 변환
다른 Wrapper클래스에도 동일한 기능의 메소드가 존재
ex) parseDouble(String s), parseLong(String s), ...
.
.
예제
class BoxingUnBoxing {
public static void main(String[] args) {
Integer iValue = new Integer(10);
Double dValue = new Double(3.14);
// 기본자료형 데이터를 Wrapper클래스인 Integer와 Double의 인스턴스로 생성 - Boxing
System.out.println(iValue); // 10
System.out.println(dValue); // 3.14
int num1 = iValue.intValue();
double num2 = dValue.doubleValue();
// Wrapper클래스의 메소드를 이용하여 인스턴스를 기본자료형 데이터로 변환
System.out.println(num1); // 10
System.out.println(num2); // 3.14
}
}
.
.
하지만 자동으로 boxing을 하기도 한다.
.
.
예제
class AutoBoxingUnBoxing {
public static void main(String[] args) {
Integer iValue = 10;
Double dValue = 3.14;
// Wrapper클래스의 인스턴스에 기본자료형 데이터를 넣으면 자동으로 들어감
System.out.println(iValue); // 10
System.out.println(dValue); // 3.14
int n1 = iValue;
double n2 = dValue;
// 인스턴스를 변수에 직접 넣을 수도 있음
System.out.println(n1); // 10
System.out.println(n2); // 3.14
String str = "1234";
int i = Integer.parseInt(str);
System.out.println(i + 100);
}
}
728x90
반응형
'Java > 본격 Java 기타클래스' 카테고리의 다른 글
[Java] StringTokenizer 클래스 (0) | 2020.07.02 |
---|---|
[Java] 랜덤 클래스 - 로또 번호 만들기 (0) | 2020.07.02 |
[Java] Math 클래스 (0) | 2020.07.02 |
[Java] BigDecimal 클래스 (0) | 2020.07.02 |
[Java] BigInteger 클래스 (0) | 2020.07.02 |