- 포장 클래스(Wrapper Class)는 특정 기본형 타입을 나타내는 용도로 사용된다.
Integer
,Character
를 제외하면 모두 기본형의 맨 앞글자를 대문자로 표기한 형식이다.
기본형 Wrapper Class 기본형 Wrapper Class byte Byte float Float short Short double Double int Integer char Character long Long boolean Boolean
Wrapper
클래스와 기본 자료형을 구분하지 않고 사용한다.
- 초창기 java 언어는 기본 자료형의 연산보다도 Wrapper Class를 사용한 연산이 더 많이 이루어졌으나, java언어가 발전함에 따라서 기본 자료형과 Wrapper 클래스 간의 연산에 차이가 없어졌다.
각각의 Wrapper
클래스의 객체는 자신과 대응되는 기본 자료형의 데이터를 파라미터로 전달받는다.
int num = 1; Integer wrapper = new Integer( num );
기본 자료형과 wrapper
클래스 간에는 서로 암묵적 형변환이 가능하다.
int num = 100; Integer wrapper = num; ------------------------------------------------ Integer wrapper = new Integer(100); int num = wrapper;
모든 Wrapper 클래스는 static
데이터 형태로 Wrapper
클래스에 대응하는 자료형에 대한 최소값과 최대값을 가지고 있다.
int max = Integer.MAX_VALUE;
int min = Integer.MIN-VALUE;
자바에서 1과 "1"은 다르다.
- 기본 자료형과 문자열 데이터간의 연산에서는 기본 자료형 데이터가 문자열로 변환된 후, 문자열 간의 연산으로 처리된다.
int a = 1; String b = "1"; System.out.println(a + b); // 출력결과 11
- 모든 프로그램 플랫폼에서 사용자의 입력값은
String
으로 처리된다.
만약에 인터넷 뱅킹에서 2개의 계좌로 송금할 금액을 각각 입력하였을 때, 총 금액을 계산한다면 다음과 같이 처리될 것이다.String money1 = "3000"; String money2 = "5000"; String total = money1 + money2; // 출력결과 30005000
위와 같은 경우에 문자열 데이터를 기본 데이터형으로 변환해 줄 필요가 있다.
Wrapper
클래스에는 기본 자료형의 모양을 띄고 있는 문자열 데이터를 실제 기본 자료형으로 변환시키는 기능이 포함되어 있다. 이는 Wrapper
클래스를 사용하는 가장 큰 의미이다.
String money1 = "3000"; String money2 = "5000"; int m1 = Integer.parseInt(money1); int m2 = Integer.parseInt(money2); System.out.println(m1 + m2); // 출력결과 8000
- 위 코드에서는
Integer.parseInt()
가 사용되었다. 변환하려는 데이터 타입에 따라 다양한 다른 parse 기능이 존재한다.
Float.parseFloat()
Double.parseDouble()
Long.parseDouble()
...