본문 바로가기

Java/본격 Java 기타클래스

[Java] Wrapper클래스

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