6. Wrapper Class
6-1. Wrapper Class
- java는 데이터를 관리하기 위하여 기본 데이터 타입을 지원하지만, 클래스를 통해서 만들어진 객체를 통한데이터 관리도 가능하다.
- 어떤 상황에서는 기본 데이터 타입의 변수를 객체 형태로 사용해야 하는 경우가 있는데, 이 때 기본형 타입을 객체로 포장할 필요가 있다.
- 포장클래스(Wrapper class) 는 특정 기본형 타입을 나타내는 용도로 사용된다.
6-2. Wrapper Class 의미
- 초창기 java언어는 기본 자료형의 연산보다도 Wrapper class를 사용한 연산이 더 많이 이루어 졌으나.
java언어가 발전함에 따라서 기본 자료형과 Wrapper클래스간의 연산에 차이가 없어졌다.
- 최근의 java언어는 Wrapper 클래스와 기본 자료형을 구분하지 않고 사용한다.
6-3. Wrapper 클래스의 객체 만들기
- 각각의 wrapper 클래스의 객체는 자신과 대응되는 기본 자료형의 데이터를 파라미터로 전달받는다.
int num = 1;
integer wrapper = new integer( num );
6-4. Wrapper 클래스의 형변환
- 기본 자료형과 wrapper 클래스 간에는 서로 암묵적 형변환이 가능하다.
int num = 100;
Integer wrapper = num;
Integer wrapper = new Integer(100);
int num = wrapper;
6-5. Wrapper 클래스의 static 데이터
- 모든 Wrapper 클래스는 static 데이터 형태로 wrapper 클래스에 대응하는 자료형에 대한 최소값과 최대값을 가지고 있다.
int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;
6-6. 문자열 데이터의 형변환 ( 중요 )
- 1과 "1" 의 차이
-> 기본 자료형과 문자열 데이터간의 연산에서는 기본자료형 데이터가 문자열로 변환된 후,
문자열 간의 연산으로 처리된다.
int a = 1;
String b = "1";
System.out.println( a + b );
- 사용자 입력값에 대한 연산
-> 모든 프로그램 플랫폼에서 사용자의 입력값은 String으로 처리된다.
-> 만약, 인터넷 뱅킹에서 2개의 계좌로 송금할 금액을 각각 입력하였을때, 총 금액을 계산한다면 다음과 같이 처리될 것이다.
String money1 = "3000";
String money2 = "5000";
String total = money1+money2;
- 문자열 데이터의 형변환
-> 문자열 데이터를 기본 데이터형으로 변환하기
-> Wrapper 클래스에는 기본 자료형의 모양을 띄고 있는 문자열 데이터를 실제 기본 자료형으로 변환시키는 기능이 포함되어 있다.
-> Wrapper 클래스를 사용하는 가장 큰 의미
String money1 = "3000";
String money2 = "5000";
int m1 = Integer.parselnt(money1);
int m2 = Integer.parselnt(money2);
System.out.println(m1+m2);
package wrapperclass;
public class Main01 {
public static void main(String[] args) {
String a = "20";
String b = "3.14";
int num_a = Integer.parseInt(a);
float num_b = Float.parseFloat(b);
int v1 = num_a +100;
float v2 = num_b +100;
System.out.println(v1);
System.out.println(v2);
Integer i = new Integer(100);
}
}