티스토리 뷰

배운 것 기록/java

Wrapper

키죽 2022. 6. 14. 06:35

Wrapper 클래스

- 자바 기본 데이터타입과 일대일 대응하는 8개의 클래스 모음(java.lang 패키지)

- 기본 데이터타입 변수로 할 수 있는 일이 한정적이므로 클래스로 정의하여 다양한 작업을 수행하도록 지원한다.

 

기본 데이터타입은 Stack 공간에 데이터를 저장 및 관리하지만 참조 데이터타입(객체)은 Heap 공간에 실제 데이터가 저장되며, 참조변수가 해당 공간의 주소값을 저장 및 관리한다. 기존엔 기본 데이터타입 변수와 참조 데이터타입 변수가 호환이 불가능 했으나 현재는 오토 박싱, 언박싱 기능의 제공으로 자동변환이 가능하다.

 

오토박싱

기본 데이터타입에서 Wrapper 클래스 타입 객체로 자동변환 (기본 데이터 => Wrapper)

Heap 공간의 객체 박스에 기본 데이터타입 변수를 전달하여 객체 형태로 포장한다.

Integer n1;
int num1 = 10;

n1 = num1; // 오토박싱
System.out.println("기본타입 num1 = " + num1);	// 기본타입 num1 = 10
System.out.println("참조타입 n1 = " + n1);	// 참조타입 n1 = 10

 

오토 언박싱

Wrapper 클래스 타입 객체의 포장을 뜯어 기본 데이터타입을 꺼낸다. (Wrapper => 기본 데이터)

Integer n2 = new Integer(20);
int num2 = 0;
num2 = n2;

System.out.println("기본타입 num2 = " + num2);	// 기본타입 num2 = 20
System.out.println("참조타입 n2 = " + n2); 	// 참조타입 n2 = 20

 

Integer n4 = 30;	// 오토 박싱
Object o = n4;		// 업캐스팅
Object o2 = 30;		// 오토박싱 -> 업캐스팅
System.out.println(o2 instanceof Integer);	// true

 

 

'배운 것 기록 > java' 카테고리의 다른 글

Stack, Queue  (0) 2022.06.19
Set, List  (0) 2022.06.18
enum  (0) 2022.06.10
interface  (0) 2022.06.08
abstract 추상화  (0) 2022.06.07
댓글
최근에 올라온 글
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함