Wrapper Class

위수현·2023년 2월 1일
0

Wrapper class

🔎 Java는 데이터를 관리하기 위하여 기본 데이터 타입을 지원하지만, 클래스를 통해서 만들어진 객체를 통한 데이터 관리도 가능하다.

🔎 어떤 상황에서는 기본 데이터 타입의 변수를 객체 형태로 사용해야하는 경우가 있는데, 이때 기본형 타입을 객체로 포장할 필요가 있다.

🔎 포장 클래스(Wrapper class)는 특정 기본형 타입을 나타내는 용도로 사용된다.

Wrapper class의 의미

🔎 초창기 Java언어는 기본 자료형의 연산보다도, Wrapper class를 사용한 연산이 더 많이 이루어 졌으나, Java언어가 발전함에 따라서 기본 자료형과 Wrapper class 간의 연산에 차이가 없어졌다.

🔎 최근의 Java언어는 Wrapper class와 기본 자료형을 구분하지 않고 사용을 많이한다.

Wrapper class의 객체 만들기

🔎 각각의 Wrapper class의 객체는 자신의 대응되는 기본 자료형의 데이터를 파라미터로 전달받는다.

	int num = 1;
	Integer warpper = new wrapper( num );

Wrapper class의 형변환

<자료형 짝>

🔎 기본 자료형과 Wrapper class 간에는 서로 암묵적 형변환이 가능하다.

int num = 100;
Integer wrapper = num;
Integer wrapper = new Integer(100);
int num = wrapper;

// int와 Integer의 정수 범위는 동일하다
// 벗어나면 Error발생

Wrapper 클래스의 static 데이터

🔎 모든 Wrapper 클래스는 static 데이터 형태로 wrapper 클래스에 대응하는 자료형에 대한 최소값과 최대값을 가지고 있다.

	int max = Integer.MAX_VALUE;	// 최대값이 max에 할당받고 있다
	int min = Integer.MIN_VALUE;	// 최소값이 min에 할당받고 있다
	-> 객체 생성 없이 할당받고 있다

문자열 데이터의 형변환(중요) - JSP에도 적용

🔎 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

<예시>

profile
수현

0개의 댓글