래퍼(wrapper) 클래스

2023. 2. 19. 14:12Programming/java

반응형

왜 사용할까?

기본형 (primitive type)  변수를 어쩔 수 없이 객체로 다뤄야 하는 경우 사용한다.

ex) 매개변수로 객체를 요구, 기본형이 아닌 객체로 저장, 객체 간의 비교가 필요할 경우

 

래퍼 클래스 종류

8개의 기본형을 대표하는 8개의 래퍼클래스가 있다.

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

래퍼 클래스들은 모두 equals()가 오버라이딩되어 있어서 주소값이 아닌 객체가 가지고 있는 값을 비교한다. 그리고 toString()도 오버라이딩되어 있어서 객체가 가지고 있는 값을 문자열로 변환하여 반환한다.

 

Number클래스

래퍼 클래스의 상속계층도

기본형 중에서 숫자와 관련된 래퍼 클래스들은 모두 Number클래스의 자손이다.

 

오토박싱 & 언박싱 (autoboxing & unboxing)

JDK1.5 이전에는 기본형과 참조형 간의 연산이 불가능했기 때문에, 래퍼 클래스로 기본형을 객체로 만들어서 연산해야 했다. 그러나 이제는 기본형과 참조형 간의 덧셈이 가능하다. 자바 언어의 규칙이 바뀐 것은 아니고, 컴파일러가 자동으로 변환하는 코드를 넣어주기 때문이다.

기본형 값을 래퍼 클래스의 객체로 자동 변환해 주는 것을 '오토박싱(autoboxing)'이라 하고, 반대로 변환하는 것을 '언박싱(unboxing)'이라고 한다.

 

 

참조

Java의 정석 - 남궁성

 

Java의 정석 | 남궁성 - 교보문고

Java의 정석 | 자바의 기초부터 실전활용까지 모두 담다!자바의 기초부터 객제지향개념을 넘어 실전활용까지 수록한『Java의 정석』. 저자의 오랜 실무경험과 강의한 내용으로 구성되어 자바를

product.kyobobook.co.kr

 

반응형

'Programming > java' 카테고리의 다른 글

[Java] 입출력 I/O  (0) 2023.03.05
java ... parameter (매개변수)  (0) 2020.12.06