JAVA 랩퍼 클래스 쉽게 설명

#JAVA017 #랩퍼클래스 #WrapperClass #makeItEasy
Jan 05, 2024
JAVA 랩퍼 클래스 쉽게 설명
 

🍑 개요

랩퍼 클래스는 간단히 요약해서 말하자면, 기초 자료타입을 객체로 다루기 위한 클래스이다. 자바는 기본적으로 객체 지향 언어이지만, 효율성을 위해 기초 자료형primitive types을 제공한다. 이런 기초 자료형들을 객체로 다루어야 할 때가 있는데 , 이럴 때 랩퍼 클래스가 사용된다.
 
 

🍇 랩퍼 클래스가 필요한 상황들

자바에서 기초 자료형을 객체로 다루어야 하는 상황은 여러 가지가 있다. 몇 가지 예시를 같이 살펴보자.
 
컬렉션 프레임 워크 사용시
notion image
  • 컬렉션 프레임 워크에는 객체만을 저장할 수 있다. 예를 들어 ArrayListHashMap과 같은 컬렉션은 기초 자료형을 직접 저장할 수 없다. 이런 경우에 위 처럼 정수형은 Integer 로 오토박싱되어 저장할 수 있게 된다.
 
널(null)값의 사용
notion image
  • 기초 자료형은 널(null) 값을 가질 수 없다. 하지만 때로는 변수가 ‘값이 없음’을 나타내야 할 필요가 있을 때, 해당 기초 자료형의 랩퍼클래스를 사용하여 null 값을 할당할 수 있다.
 
제네릭 사용시
notion image
  • 제네릭은 파라메터로 기초 자료형을 사용할 수 없다. 이 경우에도 랩퍼클래스를 사용할 수 있다.
 
기초 자료형에 대한 메소드 필요시
notion image
  • 기초 자료형에 적용할 수 있는 유용한 메소드를 제공한다.
  • MAX_VALUE : int의 최대값을 구해주는 메소드
  • parseInt : 문자열을 숫자로 변환시켜주는 메소드
 
 

🍅 랩퍼 클래스 문법

랩퍼 클래스를 사용하는 문법은 명시적인 생성자를 통한 변환과 오토 박싱 (Auto-boxing)두 가지의 방법으로 이루어진다.
 
명시적인 생성자를 통한 변환
notion image
  • 이 방법은 기초 자료형의 값을 랩퍼 클래스의 객체로 변환 할 때 사용된다. 해당 랩퍼 클래스의 생성자를 호출하여 객체를 만들면 된다.
 
오토박싱 (Auto-Boxing)
notion image
  • 오토박싱
    • 자바 5부터 도입된 오토박싱은 기초 자료형과 랩퍼 클래스 간의 변환을 컴파일러가 자동으로 처리하는 기능이다. 이를 통해 개발자는 수동으로 랩퍼 클래스의 객체를 생성하지 않고도 기초 자료형을 객체로 변환할 수 있다.
       
  • 언박싱
    • 반대로 랩퍼 클래스의 객체를 기초 자료형으로 변환하는 것을 언박싱 (Unboxing) 이라고 한다. 언박싱 역시 자동으로 이루어 질 수 있으며, 이는 오토 박싱과 함께 큰 편의성을 제공한다.
       
각 자료 타입과 연계되는 랩퍼 클래스 종류
기본적으로 앞 문자를 대문자로 바꾸면 되지만, int 같은 경우에는 Integer/ char는 Character로 랩퍼 클래스를 사용한다는 것만 기억하면 된다.
notion image
 
 
Share article

AI_Nomads