Language/Java

[자바_문법] Wrapper 클래스 이해

simDev1234 2022. 3. 23. 21:20

Wrapper클래스

   Wrapper : Boolean, Byte, Integer, Long, Float, Double

 

Wrapper클래스의 오토-언박싱과 오토-박싱

   - Auto-Boxing : 

 

[Auto-Boxing 예제_Object객체배열 안에 다양한 타입의 기본형 리터럴 입력]

package mymain;

public class WrapperTest {

	public static void main(String[] args) {
		Object[] arr = {10, "String", 12.5, 'c'};
		//Object객체타입에 대입하면서, 각가의 리터럴이 실제로는 아래와 같이 오토박싱
		//arr[0] = new Integer(10);
		System.out.println(arr[0]);
		System.out.println(arr[1]);
		System.out.println(arr[2]);
		System.out.println(arr[3]);
	}

}

>> 실행결과

10
String
12.5
c

 

[Auto-UnBoxing 예제_Object객체배열 안에 다양한 타입의 기본형 리터럴 입력]

package mymain;

public class WrapperTest {

	public static void main(String[] args) {
		Object[] arr = {10, "String", 12.5, 'c'};
		int n = (Integer)arr[0];
		//1) Auto-Boxing : arr[0] = new Integer(10);
		//2) 참조타입 변경 : Object -> Integer (Down-Casting)
		//3) Auto-unboxing : int n = <<대입되면서 기본형으로 변경
		String s = (String)arr[1];
		double d = (double)arr[2];
		//(double)arr[2] ::형변환을 하면서 기본형으로 변경
		char c = (char)arr[3];
		System.out.println(n);
		System.out.println(s);
		System.out.println(d);
		System.out.println(c);
	}

}

>> 결과

10
String
12.5
c