Wrapper 클래스란

G-NOTE·2021년 11월 20일
0

Spring

목록 보기
11/14

Wrapper 클래스

  • 자바에서 기본 자료형처럼 사용할 수 있는 클래스를 제공하는데, 이를 '기본 자료형을 감쌌다'는 의미의 Wrapper 클래스라고 한다.
  • 기본 자료형이 아닌 클래스이므로 인스턴스를 생성하기 위해 생성자를 호출하고 값을 인수로 넣는 작업이 필요하다.

언제 필요할까?

보통 정수인 변수를 사용할 때 기본형인 int를 붙인다.
하지만 만약 매개변수가 객체거나 반환 값이 객체형인 경우 정수를 객체형으로 사용해야 한다.

래퍼 클래스는 기본 자료형을 객체 자료형으로 다루기 위해 사용하는 클래스이다.

기본 자료형과 Wrapper Class

기본형Wrapper 클래스
booleanBoolean
byteByte
charCharacter
shortShort
intInteger
longLong
floatFloat
doubleDouble

기본 자료형과 객체 자료형의 차이

  • 기본 자료형은 메모리에 값을 할당한다.
  • 객체 자료형은 값이 메모리의 Stack 영역에 저장되고, 객체 자료형인 변수는 Heap에 저장되어 값이 들어있는 주소값이 할당된다.
int a = 5; // a에 5 할당
String b = "hello"; // b는 "hello"가 들어있는 메모리의 주소값 할당

오토박싱과 언박싱

  • 오토박싱(autoboxing) : 기본형을 객체로 바꾸는 것
  • 언박싱(unboxing) : 객체형을 기본형으로 바꾸는 것
  • 오토박싱과 언박싱은 자바의 연산 방식이 변경된 것이 아니고 컴파일러가 변경하는 것이다.

예제

Integer num1 = new Integer(100);
int num2 = 200;
int sum = num1 + num2; // num1이 num.intValue()로 변환된다. (언박싱)
Integer num3 = num2; // Integer.valueOf(num2)으로 변환된다. (오토박싱)

참고

http://tcpschool.com/java/java_api_wrapper

profile
FE Developer

0개의 댓글