본문 바로가기

Languages/JAVA

[JAVA] 자바 자료형 알아보기 #5 - 래퍼 클래스(Wrapper class)

자바 데이터 타입들을 알아봅시다 #5 😀


자바에는 무수히 많은 데이터 타입들이 존재합니다. 오늘은 그 중에서도 래퍼 클래스에 대해 알아봅시다.

 

[ 자바 자료형 링크 ]

1. [JAVA] 자바 자료형 알아보기 #1 - byte, short, int, long

2. [JAVA] 자바 자료형 알아보기 #2 - float,double
3. [JAVA] 자바 자료형 알아보기 #3 - boolean
4. [JAVA] 자바 자료형 알아보기 #4 - char, String


코딩을 하다보면 종종 기본 타입의 데이터를 객체로 취급해야하는 경우가 있습니다.

이럴때 byte, short, int, long 등 과같은 기본 타입 데이터들을 객체로 포장해 주는 클래스를 래퍼 클래스라고 합니다.

 

래퍼 클래스는 각각의 타입에 해당하는 데이터를 인수로 전달받아, 해당 값을 가지는 객체로 만들어줍니다.

이러한 래퍼클래스에는 Byte , Short , Integer , Long , Float , Double , Character , Boolean이 있습니다.

 


Byte , Short , Integer , Long , Float , Double , Character , Boolean들은 전부 참조 데이터 타입입니다.

byte : Byte
short : Short
int : Integer
long : Long
float : Float
double : Double
char : Character
boolean : Boolean

왼쪽이 기본데이터 타입이고 오른쪽이 참조 데이터 타입입니다. 

사용 형식은 기본데이터 타입과 비슷하지만 조금씩 다른 점이 존재합니다.

 


기본 데이터 타입 VS 참조 데이터 타입


1. 저장되는 영역

기본데이터 타입은 스택영역에 추가됩니다.

참조데이터 타입은 힙 영역에 참조값을 가진 메모리가 만들어지고 스택영역에서 참조값을 가집니다.

 

2. 메소드 사용 여부

참조 데이터 타입은 이렇게 .을 사용하여 메소드를 사용할 수 있습니다.

 

아래의 예제를 보면 .을 사용한 예시를 볼 수 있습니다.

int num1=10;
/*
* num2에는 참조값이 들어있지만(메소드를 사용할 수 있다)
* 10이라는 기본데이터 type이 들어있다고 생각해도된다.
*/
Integer num2=10;


//참조 데이터 type 이지만 기본 데이터 type처럼 사용할 수 있다.
int result = num2 + 1;
int result2 = num1 + num2;
Integer result3 = num1 + num2;

//숫자를 문자로 바꾸기 10=>"10"
String strNum = num2.toString();

//문자를 숫자로 바꾸기
String strNum2 = "999";
int result4 = Integer.parseInt(strNum2);
//기본 데이터 type double
double num1 = 10.1;
//참조 데이터 type Double
Double num2 = 10.2;

//참조 데이터 type Double 이지만 마치 기본 데이터 type 과 같이 사용할 수 있다.
double result1 = num2 + 10;
double result2 = num1 + num2;
Double result3 = num1 + num2;

//숫자를 문자열로 바꾸기 10.1 => "10.1"
String strNum = num2.toString();

//문자열을 숫자 (double)로 바꾸기 "10.3"=>10.3
double result4 = Double.parseDouble("10.3");