복습용

17-1.Wrapper 클래스

자바게 2020. 4. 2. 11:34

기본 자료형을 위한 클래스

지금까지 정수를 사용할 때 기본형인 int를 사용했습니다. 그런데 정수를 객체형을 ㅗ사용해야 하는 경우가 있습니다. 예를 들어 매개변수가 객체거나 반환 값이 객체형인 경우입니다.

 

이를 위해 자바에서는 기본 자료형처럼 사용할 수 있는 크랠스를 제공합니다. 이러한 클래스를 기본 자료형을 감쌌다는 의미로 Wrapper 클래스라고 합니다. Wrapper 클래스의 종류는 아래 표와 같습니다.

 

기본형 Wrapper 클래스
boolean Boolean
byte Byte
char Character
short Short
int Integer
long Long
float Float
double Double

 

 

가장 대표적인 Integer 클래스를 통해 Wrapper 클래스의 사용법을 알아봅시다.

다른 클래스도 사용 방법이 크게 다르지 않으므로 Integer클래스를 익혀 두면 충분히 응용할 수 있습니다.

 

Integer 클래스 사용하기

Integer 클래스의 JavaDoc을 살펴보면 int 자료형을 감싼 클래스라고 설명되어 있습니다.

Integer 클래스의 생성자는 다음과 같이 특정 정수를 매개변수로 받는 경우와 문자열을 받는 경우 두 가지가 있습니다

 

Integer(int value){...}    //특정 정수를 매개변수로 받는 경우

Integer(String s){...}     //특정 문자열을 매개변수로 받는 경우

 

자바 소스파일인 Integer.java 를 살펴보면 Integer 클래스는 int 자료형의 특성이 그대로 구현되어 있습니다.

사용 가능한 최댓값과 최솟값이 static 변수로 정의되어 있습니다. 대부분의 Wrapper 클래스가 위 Integer 클래스 정의와 크게 다르지 않습니다. 또한 Integer 클래스는 멤버 변수로 기본 자료형 int를 가지고 있고, int 값을 객체로 활용할 수 있는 여러 메소드를 제공합니다. int value는 final 변수이며 한번 생성되면 변경할 수 없습니다.

 

 

Integer 클래스의 메소드

Integer 클래스 내부의 int 자료형 값을 가져오기 위해서는 intValue() 메소드를 사용합니다

 

Integer iValue = new Integer(100);

int myValue = iValue.intValue();

 

valueOf() 정적 메소드를 사용하면 생성자를 사용하지 ㅇ낳고 정수나 문자열을 바로 Integer 클래스로 반환받을 수 있습니다.

 

Integer number1 = Integer.valueOf("100");

Integer number2 = Integer.valueOf(100);

 

 

parseInt() 메소드를 활용하면 문자열이 어떤 숫자를 나타낼 떄, 이를테면 학번이나 개수 등이 문자열로 전달된 경우에 문자 열에서 int 값을 바로 가져와서 반환할 수도 있습니다.

 

int num = Integer.parseInt("100");

 

다른 Wrapper 클래스의 사용법도 크게 다르지 않습니다.

 

오토박싱과 언박싱

Wrapper 클래스 만들어진 객체를 기본형을 바꾸는것을 언박싱 다시 객체형으로 바꾸는 것을 박싱이라고함