자바 (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<래퍼 클래스>이 있다.

반응형