티스토리 뷰
자바의 참조형을 왜 사용하는지에 대한 고민으로 이 글을 쓰게되었다.
자바에서는 매개변수를 객체형식으로 다루거나, null값을 다루는 등의 경우가 있다. 이런 경우때문에 자바에서는 참조형이라는 자료형이 있다고 한다. ( 자바에서 굳이 왜 int와 같은 역할을 하는 Integer를 만들었는지, 즉 참조형의 사용이유, 기본 타입의 데이터를 객체로 표현해야 하는 경우이다.)
따라서, 기본타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스들을 레퍼 클래스(wrapper class)라고 한다.
레퍼클래스를 이용하면 각 타입에 해당하는 데이터를 매개변수로 전달받아 해당 값을 가지는 객체로 만들어준다.
예제를 참고하자.
Integer num1 = new Integer(5); // 기본형 타입 정수를 래퍼 클래스로 감싸 객체화
Integer num1 = 5; // 이런식으로도 표현 가능
Double num2 = new Double(1.11); // 기본형 타입 실수를 래퍼 클래스로 감싸 객체화
Double num2 = 1.11;
자바의 기본형에 대한 레퍼클래스는 다음과 같다.

● 레퍼클래스는 산술연산을 위해서 정의된 클래스가 아니라고한다. 즉, 레퍼클래스에 저장된 값을 직접 변경할 수없다. 따라서, 이전에 생성한 레퍼클래스의 객체에 새로 레퍼클래스를 이용하여 객체를 생성해줘야한다.
다음은 그 예시이다.
// 박싱
Integer num = new Integer(10); // Integer 래퍼 클래스 num 에 10 의 값을 저장
// 재 포장(박싱)
int n = 20;
num = new Integer(n); 새로 생성!!
하지만, 이러한 과정을 jdk 1.5부터는 오토박싱, 오토언박싱이라는 기능이 생겨, 내부적으로 자동으로 수행해준다고 한다. ( 이 내용은 굳이 깊게 들어가지 않기로했다 ( 그냥 내 마음 ㅋㅋ ))
( ☕ 자바 Wrapper 클래스와 Boxing & UnBoxing 총정리 이 블로그를 참조함)
--------------------------
곧있으면 수시원서를 쓴다.... 화이팅.......!
'Java' 카테고리의 다른 글
| 자바 - 제네릭에 대한 심화적 이해 (2) | 2025.08.29 |
|---|---|
| 자바 - 업캐스팅/다운캐스팅 (3) | 2025.08.29 |
| 자바 - enhanced for statement ( 향상된 for 문 ) (0) | 2025.08.28 |
| 자바 - 배열, 컬렉션 개념 정리 및 차이점 (6) | 2025.08.27 |
| 자바 - try-catch구문에서, catch 는 여러개 사용가능! (0) | 2025.08.26 |