진짜 개발자
본문 바로가기

Language/Java

Java - Wrapper / 오토박싱

728x90

1. Wrapper 클래스


 자바에는 기본형 타입들을 객체 형태로 변형 시켜주는 클래스들을 일컫는다

  ex)

  -Integer

  -Long

  -Double

  -Float

  -Byte

  -Short

  -Character

  -String


  * 래퍼클래스(Wrapper) 를 사용하는 이유

    (기본타입을 객체 타입으로 바꾸어야 하는 이유)

    

    => 1. 각각의 래퍼클래스에서 제공하는 메소드들을 사용하기 위해 

           ex ) 예를 들어 int -> String   , String -> int 형으로 바꾸기 위해

   


2. 오토 박싱/언박싱


  기본 타입의 값을 객체 타입으로 자동으로 바꾸고 그 반대로 하는 행위


    * 왜 필요한가 ? 

       java5 이전의 버전에서는 기본타입의 값들이 래퍼클래스의 메소드들을 사용하기 위해서는 래퍼클래스로

       기본타입의 값을 변형 시킨뒤 메소드를 사용하고 다시 원래의 값으로 변형해야 했다.

       예를들어 수를 문자열로 또는 그반대로 하기 위해서는 

       기본타입의 값을 래퍼클래스로 변형했어야 했다 하지만 오토 박싱/언박싱이 

       등장하고 사용자는 그럴 수고를 덜 수 있게되었다.


     ex)  숫자를 문자형으로 바꾸기

     

      <java5 이전>

           

1
2
3
4
5
Integer i = new Integer(5);
 
String s = i.toString();
 
System.out.println(s);
cs


      <java5 이후 (오토 박싱,언박싱)>      

             

1
2
3
4
5
int i = 5;
 
String s = Integer.toString(i);
 
System.out.println(s);  
cs