래퍼(wrapper) 클래스
2023. 2. 19. 14:12ㆍProgramming/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)'이라고 한다.
참조
반응형
'Programming > Java' 카테고리의 다른 글
[Java] 입출력 I/O (0) | 2023.03.05 |
---|---|
java ... parameter (매개변수) (0) | 2020.12.06 |