자바 Wrapper Class




안녕하세요 열코입니다.

이번 시간에는 자바의 래퍼(Wrapper) 클래스에 대해 알아보도록 하겠습니다.


☞ 래퍼 클래스란


래퍼(Wrapper) 클래스는 기본 자료형(Data Type)을 래핑하거나 포함하는 클래스입니다.

여기서 기본 자료형은 int, char, long, float, double..등을 말합니다.

래퍼 클래스에 객체를 만들면 필드가 포함되며 이 필드에는 기본 자료형을 저장할 수 있습니다.



래퍼 클래스 사용


1. 기본 자료형을 객체로 변환합니다. 메소드에 전달된 인수를 수정하려면 객체가 필요합니다.

- 기본 자료형의 전달은 값의 전달이기 때문

2. java.util 패키지 클래스는 객체만 처리하기 때문에 래퍼 클래스가 필요합니다.

3. 어레이리스트또는 벡터와 같은 Collection 프레임워크의 데이터 구조에는 기본 유형이 아닌 객체 유형만 저장됩니다.

4. 멀티 쓰레딩에서 동기화를 지원하려면 객체가 필요합니다.



기본 데이터 타입 및 해당 래퍼 클래스


기본 데이터 타입 

래퍼 클래스

char

Character

byte

Byte

short

Short

int(long)

Integer

 float

Float

double

Double

boolean

Boolean



오토 박싱 / 언박싱


기본 자료형을 해당 래퍼 클래스의 객체로 자동 변환하는것을 오토 박싱(AutoBoxing)이라고 합니다.



1
2
3
4
5
6
7
8
9
10
11
12
import java.util.ArrayList; 
class Autoboxing 
    public static void main(String[] args) 
    { 
        char ch = 'c'
        Character a = ch; // 오토박싱
  
        ArrayList<Integer> arrayList = new ArrayList<Integer>(); 
        arrayList.add(5); // 오토박싱
    } 
cs


언박싱은 오토박싱의 역과정입니다. 래퍼 클래스의 객체를 해당 기본 자료형으로 변환하는것을 언박싱(Unboxing)이라고 합니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
import java.util.ArrayList; 
class Unboxing 
    public static void main(String[] args) 
    { 
        Character ch = 'c'
        char a = ch; // 언박싱
  
        ArrayList<Integer> arrayList = new ArrayList<Integer>(); 
        arrayList.add(5); 
        int num = arrayList.get(0);  // 언박싱
    } 
cs



예제코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class WrappingUnwrapping 
    public static void main(String args[]) 
    { 
        byte a = 1
        Byte byteobj = new Byte(a); // byte -> Byte 객체 래핑
        int b = 10
        Integer intobj = new Integer(b); // int -> Integer 객체 래핑
        float c = 18.6f; 
        Float floatobj = new Float(c); // float -> Float 객체 래핑
        double d = 250.5
        Double doubleobj = new Double(d); // double-> Double 객체 래핑
        char e='a'
        Character charobj=e; // char -> Character 객체 래핑
 
  
        byte bv = byteobj; // Byte 객체 -> byte 언래핑
        int iv = intobj; // Integer 객체 -> int 언래핑
        float fv = floatobj; // Float 객체 -> float 언래핑
        double dv = doubleobj; // Double 객체 -> double 언래핑 
        char cv = charobj; // Character 객체 -> char 언래핑
    } 
cs



이상 'Java Wrapper Class'에 대해 알아보았습니다.

질문 또는 오타나 잘못된 정보가 있는 경우 댓글로 달아주세요!

공감♡ 버튼을 눌러주시면 더욱 유용하고 좋은 포스팅으로 찾아 뵙겠습니다.





to Top