래퍼 클래스(Wrapper Class)는 기본 자료형을 객체로 다룰 수 있게 해주는 클래스를 말합니다. Java에서는 모든 기본 자료형에 대응하는 래퍼 클래스가 있습니다. 래퍼 클래스를 사용하면 기본 자료형 값을 객체처럼 취급할 수 있으며, 다양한 유틸리티 메서드와 함께 사용할 수 있습니다.
기본 자료형과 대응하는 래퍼 클래스
기본 자료형 래퍼 클래스
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
주요 용도
- 컬렉션 프레임워크 사용: Java의 컬렉션 프레임워크는 객체만 저장할 수 있습니다. 기본 자료형을 직접 저장할 수 없기 때문에, 이를 래퍼 클래스로 변환하여 사용해야 합니다.
- java코드 복사 List<Integer> list = new ArrayList<>(); list.add(10); // int 값을 Integer 객체로 자동 변환 (오토박싱)
- 유틸리티 메서드 제공: 래퍼 클래스는 기본 자료형과 관련된 다양한 유틸리티 메서드를 제공합니다. 예를 들어, 문자열을 숫자로 변환하거나, 기본 자료형 값의 범위를 체크하는 등의 작업을 할 수 있습니다.
- java코드 복사 String s = "123"; int num = Integer.parseInt(s); // 문자열을 int로 변환
- 기본 자료형과 객체 간의 변환: 래퍼 클래스를 사용하면 기본 자료형 값을 객체로, 객체를 기본 자료형 값으로 쉽게 변환할 수 있습니다.
박싱(Boxing)과 언박싱(Unboxing)
- 박싱(Boxing): 기본 자료형 값을 래퍼 클래스 객체로 변환하는 것.
- java코드 복사 int a = 5; Integer boxedA = Integer.valueOf(a); // 명시적 박싱 Integer autoBoxedA = a; // 오토박싱
- 언박싱(Unboxing): 래퍼 클래스 객체를 기본 자료형 값으로 변환하는 것.
- java코드 복사 Integer b = 10; int unboxedB = b.intValue(); // 명시적 언박싱 int autoUnboxedB = b; // 오토언박싱
예제 코드
java코드 복사
public class WrapperExample {
public static void main(String[] args) {
// 기본 자료형을 래퍼 클래스로 박싱
int num = 100;
Integer wrappedNum = Integer.valueOf(num); // 명시적 박싱
Integer autoWrappedNum = num; // 오토박싱
// 래퍼 클래스를 기본 자료형으로 언박싱
int unwrappedNum = wrappedNum.intValue(); // 명시적 언박싱
int autoUnwrappedNum = wrappedNum; // 오토언박싱
// 유틸리티 메서드 사용
String str = "1234";
int parsedNum = Integer.parseInt(str); // 문자열을 int로 변환
// 컬렉션 사용 예
List<Integer> numberList = new ArrayList<>();
numberList.add(1); // 오토박싱
numberList.add(2);
for (int n : numberList) {
System.out.println(n); // 오토언박싱
}
}
}
이 예제에서는 기본 자료형 int와 대응하는 래퍼 클래스 Integer를 사용하여 박싱과 언박싱, 유틸리티 메서드의 사용, 컬렉션에 값을 추가하는 방법을 보여줍니다.
'내일배움캠프 > 회고록' 카테고리의 다른 글
| 6월 25일 화요일 (0) | 2024.06.25 |
|---|---|
| 6월 21일 금요일 (0) | 2024.06.21 |
| 6월 20일 목요일 (0) | 2024.06.20 |
| 6월 18일 화요일 (0) | 2024.06.18 |
| 6월 17일 월요일 (0) | 2024.06.17 |