본문 바로가기

Language/Java

[JAVA] Wrapper Class

1. 정의

int, double, float, char 같은 순수 값만 가지는 기본 자료형들을 객체 형태로 재조립한 것이다.

기본 자료형 같은 역할을 하는 Wrapper Class
int Integer
double Double
float Float
char Character

(1) Wrapper Class들의 용도 

기본 자료형과 똑같이 해당 타입의 값을 넣기 위해서 사용.

but 아무래도 클래스 이다보니, 내장 매소드등을 이용해 더 편리한 기능을 쓸 수 있는  장점이 있다.

(2) Wrapper Class들이 필요한 이유 

앞에서 배웠던 Generics 클래스나 매소드를 기본 자료형은 쓸 수가 없었다.

따라서 Wrapper 클래스를 사용해서 값을 저장한 경우 Generics을 사용할 수 있기에, 해당 경우에 필요하다.

2. 코드해설

public class _03_WrapperClass {
    // 래퍼(Wrapper) 클래스
    // 역할 : int, double, float, char 같은 순수 값만 가지는 기본 자료형을 객체 형태로 만들어 주는 역할을 한다.


    public static void main(String[] args) {

        Integer i = 123;    // int i = 123
        Double d = 1.0;     // double d =1.0;
        Character c = 'A';  // char c = 'A';

        System.out.println(i);
        System.out.println(d);
        System.out.println(c);

        System.out.println("----------------------------------");

        System.out.println(i.intValue());
        System.out.println(d.intValue());   // 형 변환 해주는 매소드
        System.out.println(c.charValue());

        System.out.println("----------------------------------");
        String s= i.toString(); // 형 변환 123 -> "123"으로 바꿔줌.
        System.out.println(s);


    }


}

3. 직접 써보기 

public class WrapperPractice {
    public static void main(String[] args) {
        Integer i = 123;
        Double d = 5.2342;
        Float f = 297777.1414f;
        Character c = 'A';

        System.out.println(i);
        System.out.println(d);
        System.out.println(f);
        System.out.println(c);
        System.out.println("---------------------------");
        System.out.println(i.doubleValue());
        System.out.println(d.intValue());
        System.out.println(f.intValue());

        String s = c.toString();
        
        System.out.println(s);
    }
}

'Language > Java' 카테고리의 다른 글

[JAVA] Linked List  (0) 2023.02.08
[JAVA] ArrayList  (0) 2023.02.07
[JAVA]Generics 심화  (0) 2023.02.06
[JAVA] Generic Class  (0) 2023.02.03
[JAVA] Generics  (0) 2023.02.02