래퍼클래스(Wrapper Class)

김경민·2022년 9월 5일

java

목록 보기
8/8

래퍼클래스(Wrapper Class)란?

기본형 변수도 객체로 다뤄야 하는 경우가 있음
예를 들면, 매개변수로 객체를 요구할 때, 기본형 값이 아닌 객체로 저장해야 할 때, 객체간의 비교가 필요할 때 등등의 경우에 기본형 값들을 객체로 변환하여 작업을 수행해야함

래퍼클래스의 생성자는 매개변수로 문자열이나 각 자료형의 값들을 인자로 받음
객체생성 시에 생성자의 인자로 주어진 각 자료형에 알맞은 값을 내부적으로 저장하고 있으며 이에 관련된여러메서드가 정의되어 있음

equals()가 오버라이딩되어 있어서 주소값이 아닌 객체가 가지고 있는 값을 비교

기본타입 vs 래퍼클래스
byte Byte
char Character
int Integer
float Float
double Double
boolean Boolean
long Long
short Short

Number클래스
이 클래스는 추상클래스로 내부적으로 숫자를 멤버변수로 갖는 래퍼 클래스들의 조상
기본형 중에서 숫자와 관련된 래퍼클래스들은 모두 Number클래스의 자손

문자열을 숫자로 변환하기

타입.parse타입(String s) : 반환값이 기본형
타입.valueof() : 반환값이 래퍼 클래스 타입

ex) int i = Integer.parseInt("100"); <-> int i = Integer.valueOf("100");

NumberFormatException 예외발생 가능성 있음

profile
JAVA야 기다려라

2개의 댓글

comment-user-thumbnail
2022년 9월 12일

wrapper class 를 사용하는 기준으로 저는 null 을 허용하냐 안하냐도 보는것 같아요

예를 들어서 다음과 같은 테이블이 있다고 하면
user
name: string
age: integer

db 에서는 필드에 null 도 값으로 보니까 user 를 db 에서 쿼리해서 mapping 시킬 때 만약 age 가 premitive type 일 경우 null 인 값이라면 NullPointerException 이 발생하죠.

하지만 Integer class 즉 wrapper class 를 사용할 때는 객체의 인스턴스가 null 일 수 있으니 NPE가 발생하지 않습니다.

1개의 답글