JAVA

Wrapper 클래스

쿠키는고양이 2022. 8. 28. 15:59

 

Wrapper 클래스란 기본 자료형을 클래스로 정의한 것을 말한다.

즉, 흔히 써온 int, char, boolean 등을 클래스로 정의한 것이다.

 

1. wrapper 클래스가 필요한 이유

만약 어떤 객체를 관리하기 위해 ArrayList 를 만들어 담는다고 생각해보자.

그럼 아래와 같이 코드를 작성하게 될 것이다.

ArrayList<Userclass> user = new ArrayList<>();
 

만약 리스트에 담을 데이터가 1,2,3 ~ 과 같은 일반 정수형 데이터이면 어떻게 해야 할까?

단순히 생각해 <Userclass> 대신에 <int> 로 바꾸면 아래처럼 빨간 줄이 그어진다.

.

이러한 문제를 막기 위해서는 기본 자료형을 클래스(인스턴스)처럼 사용이 가능하여야 한다.

따라서 기본 자료형을 클래스로 만들어 사용하는 이유는 인스턴스를 만들기 위해서 이다.

 

또는 형변환에서도 사용이 가능하다.

              	String ss = "2000"; 
		int d = Integer.parseInt(ss);
		
		System.out.println(ss + 1);
		System.out.println(d + 1);
 

위의 코드를 보면 Integer 클래스의 메소드인 parseInt() 를 통해 문자열을 정수형으로 변환하는 것을 볼 수 있다.

정말 변환된 것인가를 확인하기 위해 출력에서 +1 을 진행하였다.

실행 결과를 보면 문자열 ss + 1은 문자열 뒤에 1이 추가된 20001 이며 정수 d+1 은 2000+1 = 2001 로

결과가 다른 것을 확인할 수 있다.

 

2. wrapper 클래스

Wrapper 클래스라고 부르는 클래스는 기본 자료형에 대한 클래스를 포괄적으로 말하는 것이다.

여기서 기본 자료형에 대한 클래스는 다음과 같다.

  • 0열 선택0열 다음에 열 추가
  • 1열 선택1열 다음에 열 추가
  • 0행 선택0행 다음에 행 추가
  • 1행 선택1행 다음에 행 추가
  • 2행 선택2행 다음에 행 추가
  • 3행 선택3행 다음에 행 추가
  • 4행 선택4행 다음에 행 추가
  • 5행 선택5행 다음에 행 추가
  • 6행 선택6행 다음에 행 추가
  • 7행 선택7행 다음에 행 추가
  • 8행 선택8행 다음에 행 추가
자료형
클래스 명
short
Short
int
Integer
long
Long
float
Float
double
Double
boolean
Boolean
char
Character
byte
Byte

 

표를 보면 바로 알 수 있듯이 자료형의 첫 글자를 대문자로 바꾸면 된다.

물론 줄임말인 int 와 char 는 원래 단어로 써주면 된다.

 

3. 형변환 해주는 메소드 parse()

위에서 잠깐 언급했지만 각 자료형 클레스에는 다른 자료형을 자신의 형태로 변환해주는 메소드가 존재한다.

                String ss = "2000"; 
		int d = Integer.parseInt(ss);
		
		System.out.println(Double.parseDouble(ss));
		System.out.println(Float.parseFloat(ss));
		System.out.println(Short.parseShort(ss));
 

간단하게 문자열을 정수 또는 실수로 변환하여 출력하는 코드이다.

메소드를 보면 클래스마다 메소드 이름이 유사한 것을 볼 수 있다.

parse() 메소드는 static 이므로 사용하기 위해서는 별도로 import 또는 인스턴스가 필요하지 않다.

 

※Charcater 클래스에는 parse() 메소드가 없다.