자바의 래퍼(wrapper) 클래스는 기본 데이터 타입(primitive data type)을 객체로 감싸는 역할을 합니다. 기본 데이터 타입은 값 자체를 저장하고 있는 반면, 래퍼 클래스는 해당 값을 감싸고 있는 객체입니다. 래퍼 클래스는 주로 객체가 필요한 상황에서 기본 데이터 타입을 사용할 수 있도록 해줍니다.
래퍼 클래스의 종류는 다음과 같습니다.
1. 정수형 래퍼 클래스
Byte, Short, Integer, Long
예를 들어, int를 객체로 사용하려면 Integer 클래스를 사용합니다.
int primitiveInt = 42;
Integer wrapperInt = Integer.valueOf(primitiveInt); // 기본 타입을 래퍼 클래스로 변환
2. 실수형 래퍼 클래스
Float, Double
double primitiveDouble = 3.14;
Double wrapperDouble = Double.valueOf(primitiveDouble);
3. 문자형 래퍼 클래스
Character
char primitiveChar = 'A';
Character wrapperChar = Character.valueOf(primitiveChar);
4. 논리형 래퍼 클래스
Boolean
boolean primitiveBoolean = true;
Boolean wrapperBoolean = Boolean.valueOf(primitiveBoolean);
래퍼 클래스는 Java에서 제공하는 메서드를 통해 다양한 작업을 수행할 수 있습니다. 예를 들어, Integer 클래스는 문자열을 정수로 변환하거나, 정수를 문자열로 변환하는 메서드를 제공합니다.
String strNumber = "123";
int parsedInt = Integer.parseInt(strNumber); // 문자열을 정수로 변환
int intNumber = 456;
String strFromInt = Integer.toString(intNumber); // 정수를 문자열로 변환
자바 5부터는 오토박싱(auto-boxing)과 언박싱(unboxing)이라는 개념이 도입되어, 기본 데이터 타입과 그에 대응하는 래퍼 클래스 간의 변환을 더 편리하게 할 수 있게 되었습니다.
// 오토박싱 (기본 타입을 래퍼 클래스로 자동 변환)
Integer autoBoxed = 42;
// 언박싱 (래퍼 클래스를 기본 타입으로 자동 변환)
int unboxed = autoBoxed;
래퍼 클래스는 주로 컬렉션 프레임워크에서 사용되거나, 메서드의 시그니처에 기본 데이터 타입 대신 사용될 때 유용합니다. 그 외에도 null 값을 가질 수 있어 기본 데이터 타입에 null을 사용해야 하는 상황에서 유용하게 활용될 수 있습니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 java.util.Objects클래스 (0) | 2023.11.15 |
---|---|
자바 오토박싱(auto-boxing)과 언박싱(unboxing) (0) | 2023.11.15 |
자바 Math클래스 (0) | 2023.11.15 |
자바 StringBuilder클래스 (0) | 2023.11.15 |
자바 StringBuffer클래스 (0) | 2023.11.15 |