본문 바로가기
개발자 양성과정 필기노트/JAVA

Wrapper 클래스

by jono 2021. 10. 9.

 1. 개념 

- 기본 데이터타입 변수로 할 수 있는 일이 한정적이므로, 이에대한 클래스를 정의하여 클래스 내에 상수 및 다양한 메서드를 제공함으로써 기본 데이터타입에 대한 다양한 정보를 저장하거나, 다양한 작업을 수행할 수 있도록 지원한다.

- 기본타입명이되, 맨 앞글자는 대문자이다.


 2. Boxing / Unboxing 

 - 기본타입데이터 Stack공간에 실제 데이터를 직접저장하고 관리하지만,

- 참조데이터타입의 객체는 Heap공간에 실제 데이터가 저장되며, 참조변수는 해당 공간의 주소값을 저장하고 관리한다.

Boxing Unboxing
기본타입의 값을 Wrapper객체로 만드는 과정 Wrapper객체에서 기본타입의 값을 얻어내는 과정
Auto Boxing Auto Unboxing
기본타입 -> Wrapper 타입객체로 자동변환 Wrapper객체안에 있는 기본데이터타입 꺼내기
기본타입변수를 Heap공간에 전달하여 객체형태로 포장함 Heap공간의 Wrapper에 들어있는 값을 꺼내 기본타입으로 변환
Wrapper변수명 = 기본타입변수명; 기본타입변수명 = Wrapper변수명 ;
Wrapper & 기본타입 연산시 -> 기본타입으로 변환되어 연산

 3. Xxx.parseXxx(string); 

JSP시간에나 자바스크립트배울 때 Integer.parseInt(); 를 본적이 있는데, Wrapper클래스에서 나온거였다.

문자열 데이터를 기본타입데이터로 변경할 때 사용하는 문법이다.

Integer.parseInt("100");

Float.parseFloat("2.5F");

Boolean.parseBoolean("true"); 

등등


 4. Wrapper클래스 사용하기 

  • Wrapper클래스명.상수명
    ex) Byte.SIZE => byte타입 데이터의 메모리크기 확인할 수 있다.
  • 기본 데이터타입의 데이터를 Wrapper클래스의 객체로 변환하여 데이터를 관리할 수 있다.

 5. 각 Wrapper클래스의 메서드 사용하기 

- 주로 Wrapper클래스의 static메서드를 직접호출하여 기본타입데이터를 처리하는 형태로 사용한다.

 

 1) Integer클래스의 static메서드 

  1-1) 대소관계 비교 max(), min()

    Integer.max(num1,num2);

    Integer.min(num1,num2);

 

  1-2) 정수의 진법 변환하기 to___String

    2진수 => Integer.toBinaryString(num);

    8진수 => Integer.toOctalString(num);

    16진수 => Integer.toHexString(num);

 

 2) Character클래스의 static메서드 

  1-1) 문자형식 판별하기 .is____()

    Character.isAlphabetic(char);

    Character.isLetter(char);

    Character.isUpperCase(char);

    Character.isLowerCase(char);

    Character.isDigit(char);

 

 

  1-2) 문자형식 변경하기 .to____Case

    Character.toLowerCase(upperChar);

댓글