자바 (Java)/요약
Chpt 9. java.lang 패키지, util 클래스 - 주제 4. 래퍼 클래스
학듄
2023. 11. 3. 18:22
728x90
1. 래퍼 클래스
객체 지향에서의 모든 것들은 객체로 다루어저야 한다. 래퍼 클래스는 이와 같은 특징을 반영하는 즉, 기본형을 감싸는 클래스이다. 다음은 래퍼 클래스의 종류와 생성자이다.
기본형 | 래퍼 클래스 | 생성자 | 메서드 / 상수 |
boolean | Boolean | Boolean(boolean value) Boolean(String s) |
(1) toString(), equals() 모두 오버라이딩 되어있다. (2) 비교 연산자를 사용하는 것이 불가하기 때문에 compareTo()를 사용한다. (3) 상수로는 MAX_VAULE, MIN_VALUE, SIZE, BYTES, TYPE이 있다. (4) 문자열 → 기본형 타입.parse타입(문자열) (5) 기본형 → 문자열 String.valueOf(기본형) (OR 기본형 + "") (6) 문자열 → 래퍼 클래스 | 기본형 타입.valueOf(문자열) (7) 래퍼 클래스 → 문자열 래퍼 클래스 인스턴스.toString() (8) 래퍼 클래스 → 기본형 래퍼 클래스 인스턴스.타입Value() (조상 Number 클래스의 메서드) |
hachar | Character | Character(char value) | |
byte | Byte | Byte(byte value) Byte(String s) |
|
short | Short | Short(short value) Short(String s) |
|
int | Integer | Integer(int value) Integer(String s) |
|
long | Long | Long(long value) Long(String s) |
|
float | Float | Float(double value) Float(float value) Float(String s) |
|
double | Double | Double(double value) Double(String s) |
[주의] 생성자에서 인자의 타입이 String일 때 자료형에 맞는 문자열을 제공해야 한다.
2. 오토 박싱 & 언박싱
컴파일러의 기본형 래퍼 클래스(참조형) 간의 자동 형변환을 오토 박싱, 언박싱이라고 한다.
기본형 → 래퍼 클래스 : 오토 박싱
래퍼 클래스 → 기본형 : 언박싱
박스에 포장하는 것과 박스에 있는 내용물을 꺼내는 비유를 생각해보면 쉽다. (6)의 경우에도 원래는 valueOf의 반환 타입이 래퍼 클래스인데 언박싱 덕분에 기본형으로 사용할 수 있는 것이다. 또다른 예로는 ArrayList<래퍼 클래스>이 있다.
반응형