Wrapper class 사용이유?

기본 data type은 객체가 아니어서 Object로 받는 다형성을 지원 할 수없다.
기본 data type을 객체로 변환시켜 전달하기위해 사용되며 auto boxing과 unboxing이 지원된다

Wrapper class 
기본자료형 값을 감싼다.
인스턴스안에 넣어두는걸로 이해하면 좋다.
왜 감싸느냐? 제네릭에서 자세히배운다

 

예시 1.

class UserWrapperClass{
	public static void showData(Object obj){
    	System.out.println(obj);
    }
}

인스턴스를 요구하는 메소드

이 메소드를 통해서 정수나 실수를 출력하려면 해당 값을 인스턴스화 해야한다.

 

메소드 showData를 정의한다.
인자로 무엇을 전달받아서 toString메소드를 호출한다. 이때 인스턴스가 전달되어야한다.
기본자료형값을 보낼 수 없다.
인스턴스를 보내야하는곳에 기본자료형을 전달하면 컴파일에러가 발생한다.

 

showData 모든 인스턴스를 인자로 전달받을 수있다. 그 인스턴스가 반환하는 문자열을 출력한다.
기본자료형은 object클래스를 상속하지않기떄문에 인자로 전달할 수없다.

 

기본자료형의 값들은 인자로 받을 수없다. 오브젝트를 상속하지않는다
String str = 3이나 5를 참조할 수 없는것과 비슷하다

 

기본자료형의 값들은 인자로 받을 수없다.
오브젝트를 상속하지않는다
String str = 3이나 5를 참조할 수없다.

public static void main(String[] args){
	Integer iInst = new Integer(3);
    showData(iInst);
    showData(new Double(7.15));
}


내가 가진것이 값이라면 래퍼클래스를 이용해 인스턴스안에 넣어둔다
3이라는 숫자가 인스턴스화되었다.
7.15라는 더블형값이 더블이라는 인스턴스에 감싸여져서 그 반환값이 showData메소드의 인자로전달되었다.

* 래퍼클래스에서 중요한것은 값을 인스턴스화시킨것

 

이렇듯 기본 자료형의 값을 인스턴스로 감싸는 목적의 클래스를 가리켜 래퍼클래스라고한다.

 

'2021 Newlecture > JAVA' 카테고리의 다른 글

StringBuffer클래스  (0) 2021.09.19
클래스변수  (0) 2021.09.18
String , StringBuffer, StringBuilder 차이점  (0) 2021.08.20
자바 컬렉션과 제네릭 강의  (0) 2021.04.25
자바 총 정리  (1) 2021.04.13
Inner class / Anonymous class  (0) 2021.04.12
인터페이스 구현  (0) 2021.04.12
(추가정리) 추상클래스 와 인터페이스  (0) 2021.04.11

+ Recent posts