본문 바로가기
Java

Java Wrapper Class & 오토박싱 언박싱

by Wisest 2015. 7. 20.

Wrapper class란

 

Java 에는 8개의 Wrapper class 가 제공 된다.

byte = java.lang.Byte

short = java.lang.Short

int = java.lang.Integer

long = java.lang.Long

float = java.lang.Float

double = java.lang.Double

char = java.lang.Character

boolean = java.lang.Boolean

 

int 와 char 는 각각 풀네임으로 호출한다.

나머지는 기본 데이터타입에 첫글자를 대문자로 선언하여 사용 할 수 있다.

 

여기서 궁금증이 생긴다.

Wrapper 클래스를 언제 사용할까?

기본 자료형 데이터들도 Instance로 표현해야만 하는 경우가 가장 클 것 같다.

객체를 받는 메소드가 있다고 가정하자.

그런데 딱 이 경우에만 primitive type 매개변수로 받아야하는 경우가 발생 했을때

나는 오버로딩한 메소드를 하나 더 만드는 것보다 primitive type을 객체화 시키는게

효율적일 것이라는 생각을 한다.

그리고 핵심 형변환... 프로그래밍을 하다보면 진짜 형변환을 많이하게 된다.

 

예제)

String parseTest = "11223344";

int parseTest2 = Integer.parseInt(parseTest);  //Wrapper class 활용.
    System.out.println(parseTest2);

// 아래 주황색으로 표시된부분이 Wrapper 클래스의 parseInt 메소드에 접근하여 활용하였다.

내가 항상 코딩하던 부분에 대한 이론을 이제야 배우는 느낌이다.

 

이론부터 배우고 코딩했어야했는데... ㄷㄷ...

 

그리고 객체화했을때 유용하게 활용할 수 있는 메소드들도 많다.!!!

 

 

오토박싱(AutoBoxing) 언박싱(UnBoxing)

일단 오토박싱과 언박싱 개념은 프로그래밍을 조금이라도 접해본 사람은 모두 알고 있다.

다만 오토박싱이라는 단어와 언박싱이라는 단어를 잘 모를수는 있을 것이다.

 

이미 거의 모든 사람들이 두 개념을 알고 있을것이다. 아래 코드를 보면 아 이거 였구나

라는 생각이 들것이라고 예상한다.

 

//오토박싱  primitive type num 을 num2 로 Wrapper class화 시킨다.

int num = 10;

Integer num2 = 10; <-- 오토 박싱

 

//언박싱 num2 Wrapper class화 된 num2 를 다시 primitive type 으로 변환한다.

int num3 = num2 <-- 언박싱 

 

의외로 간단하다.

'Java' 카테고리의 다른 글

Java SimpleDateFormat  (0) 2015.07.22
Java Calendar Date  (0) 2015.07.22
Java Interface  (2) 2015.07.16
Java 추상 클래스 (abstract class)  (0) 2015.07.16
Java 메소드 오버라이딩  (3) 2015.07.15