🍑 개요
랩퍼 클래스는 간단히 요약해서 말하자면, 기초 자료타입을 객체로 다루기 위한 클래스이다. 자바는 기본적으로 객체 지향 언어이지만, 효율성을 위해 기초 자료형
primitive types
을 제공한다. 이런 기초 자료형들을 객체로 다루어야 할 때가 있는데 , 이럴 때 랩퍼 클래스가 사용된다. 🍇 랩퍼 클래스가 필요한 상황들
자바에서 기초 자료형을 객체로 다루어야 하는 상황은 여러 가지가 있다. 몇 가지 예시를 같이 살펴보자.
컬렉션 프레임 워크 사용시
- 컬렉션 프레임 워크에는 객체만을 저장할 수 있다. 예를 들어
ArrayList
나HashMap
과 같은 컬렉션은 기초 자료형을 직접 저장할 수 없다. 이런 경우에 위 처럼 정수형은Integer
로 오토박싱되어 저장할 수 있게 된다.
널(null
)값의 사용
- 기초 자료형은 널
(null)
값을 가질 수 없다. 하지만 때로는 변수가 ‘값이 없음’을 나타내야 할 필요가 있을 때, 해당 기초 자료형의 랩퍼클래스를 사용하여null
값을 할당할 수 있다.
제네릭 사용시
- 제네릭은 파라메터로 기초 자료형을 사용할 수 없다. 이 경우에도 랩퍼클래스를 사용할 수 있다.
기초 자료형에 대한 메소드 필요시
- 기초 자료형에 적용할 수 있는 유용한 메소드를 제공한다.
- MAX_VALUE : int의 최대값을 구해주는 메소드
- parseInt : 문자열을 숫자로 변환시켜주는 메소드
🍅 랩퍼 클래스 문법
랩퍼 클래스를 사용하는 문법은 명시적인 생성자를 통한 변환과 오토 박싱
(Auto-boxing)
두 가지의 방법으로 이루어진다. 명시적인 생성자를 통한 변환
- 이 방법은 기초 자료형의 값을 랩퍼 클래스의 객체로 변환 할 때 사용된다. 해당 랩퍼 클래스의 생성자를 호출하여 객체를 만들면 된다.
오토박싱 (Auto-Boxing)
- 오토박싱
자바 5부터 도입된 오토박싱은 기초 자료형과 랩퍼 클래스 간의 변환을 컴파일러가 자동으로 처리하는 기능이다. 이를 통해 개발자는 수동으로 랩퍼 클래스의 객체를 생성하지 않고도 기초 자료형을 객체로 변환할 수 있다.
- 언박싱
반대로 랩퍼 클래스의 객체를 기초 자료형으로 변환하는 것을 언박싱
(Unboxing)
이라고 한다. 언박싱 역시 자동으로 이루어 질 수 있으며, 이는 오토 박싱과 함께 큰 편의성을 제공한다. 각 자료 타입과 연계되는 랩퍼 클래스 종류
기본적으로 앞 문자를 대문자로 바꾸면 되지만, int 같은 경우에는 Integer/ char는 Character로 랩퍼 클래스를 사용한다는 것만 기억하면 된다.
Share article