🔎 Java는 데이터를 관리하기 위하여 기본 데이터 타입을 지원하지만, 클래스를 통해서 만들어진 객체를 통한 데이터 관리도 가능하다.
🔎 어떤 상황에서는 기본 데이터 타입의 변수를 객체 형태로 사용해야하는 경우가 있는데, 이때 기본형 타입을 객체로 포장할 필요가 있다.
🔎 포장 클래스(Wrapper class)는 특정 기본형 타입을 나타내는 용도로 사용된다.
🔎 초창기 Java언어는 기본 자료형의 연산보다도, Wrapper class를 사용한 연산이 더 많이 이루어 졌으나, Java언어가 발전함에 따라서 기본 자료형과 Wrapper class 간의 연산에 차이가 없어졌다.
🔎 최근의 Java언어는 Wrapper class와 기본 자료형을 구분하지 않고 사용을 많이한다.
🔎 각각의 Wrapper class의 객체는 자신의 대응되는 기본 자료형의 데이터를 파라미터로 전달받는다.
int num = 1; Integer warpper = new wrapper( num );
<자료형 짝>
🔎 기본 자료형과 Wrapper class 간에는 서로 암묵적 형변환이 가능하다.
int num = 100;
Integer wrapper = num;
Integer wrapper = new Integer(100);
int num = wrapper;
// int와 Integer의 정수 범위는 동일하다
// 벗어나면 Error발생
🔎 모든 Wrapper 클래스는 static 데이터 형태로 wrapper 클래스에 대응하는 자료형에 대한 최소값과 최대값을 가지고 있다.
int max = Integer.MAX_VALUE; // 최대값이 max에 할당받고 있다 int min = Integer.MIN_VALUE; // 최소값이 min에 할당받고 있다 -> 객체 생성 없이 할당받고 있다
🔎 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"
-> 송금한 금액이 30005000이 아니므로, 우리는 문자열 데이터를 기본 데이터(int)타입으로 변환해야 한다.
🔎 문자열 데이터의 형변환
-> 문자열 데이터를 기본 데이터형으로 변환하기
-> Wrapper class에는 기본 자료형의 모양을
띄고 있는 문자열 데이터를 실제 기본 자료형으로
변환시키는 기능이 포함되어 있다.
-> Wrapper class를 사용하는 가장 큰 의미 !!
String money1 = "3000"; String money2 = "5000"; int m1 = Integer.parseInt(money1); int m2 = Integer.parseInt(money2); System.out.println( m1 + m2 ); // 8000
<예시>