래퍼 클래스란?
래퍼 클래스는 기본 데이터 타입(primitive data type)을 객체로 감싸는 클래스입니다. Java에는 8개의 기본 데이터 타입이 있으며, 각각에 대응하는 래퍼 클래스가 있습니다.
기본 타입과 해당 래퍼 클래스:
- byte → Byte
- short → Short
- int → Integer
- long → Long
- float → Float
- double → Double
- boolean → Boolean
- char → Character
래퍼 클래스의 용도
- 객체 지향 프로그래밍 지원: 기본 타입을 객체로 다룰 수 있게 해줍니다.
- 제네릭스 사용: 컬렉션 프레임워크 등에서 객체만을 다루기 때문에 필요합니다.
- null 값 표현: 기본 타입은 null을 가질 수 없지만, 래퍼 클래스 객체는 가능합니다.
- 유틸리티 메소드 제공: 타입 변환, 값 비교 등의 유용한 메소드를 제공합니다.
박싱(Boxing)과 언박싱(Unboxing)
- 박싱: 기본 타입의 값을 래퍼 클래스의 객체로 변환하는 과정
- 언박싱: 래퍼 클래스의 객체를 기본 타입의 값으로 변환하는 과정
Java 5부터는 자동 박싱/언박싱을 지원합니다:
Integer num = 100;
int value = num;