java.lang 패키지에 속함
기본자료형을 객체로 포장해주는 클래스들을 래퍼클래스라고 함
-언제쓰냐?
1. 기본자료형을 객체로 취급해야 하는 경우
2. 메소드 호출 시, 메소드의 매개변수로 기본자료형이 아닌 객체타입만 요구 될 때
3. 다형성을 적용시키고 싶을 때
- Boxing(박싱) : 기본 타입의 값을 포장 객체로 만드는 과정
1. 생성자를 이용해여 박싱
ex) Byte obj = new Byte(10); ※deprecated; 가급적이면 사용하지말아라, 앞으로의 버전에 삭제될지도 모를 코딩법.
Byte obj = new Byte("10"); ※deprecated;
2. 래퍼클래스마다 가진 static메소드인 valueOf()메소드 활용. 위의 생성자를 이용한 박싱보다 이렇게 박싱하길 추천
ex) Integer obj = Integer.valueOf(1000);
(int obj = Integer.valueOf(1000); 기본형에도 대입가능)
Integer obj = Interger.valueOf("1000");
- Unboxing(언박싱) : 포장 객체에서 기본 타입의 값을 얻어내는 과정
* '기본 타입 이름' + Value() 메소드 호출
ex) int num = obj.intValue();
char ch = obj.charValue();
- Auto Boxing(자동박싱)과 Auto UnBoxing(자동언박싱)
1. 포장 클래스 타입에 기본값이 대입될 경우 자동 박싱발생
ex) Integer obj = 100; // 100이라는 기본값이 Integer타입으로 자동박싱돼서 그 번지수가 obj참조변수에 대입되는 것
2. 기본 타입에 포장 객체가 대입되는 경우 및 연산에서 자동 언박싱 발생
ex) Integer obj = new Integer(200);
int value1 = obj; // 200, 자동 언박싱으로 기본타입값을 끄집어 내서 대입
int value2 = obj + 100; // 300, 자동 언박싱으로 obj안에 있는 200끄집어 내서 산술연산뒤 대입
- String을 기본자료형으로
포장 클래스로 문자열을 기본 타입 값으로 변환
'parse + 기본 타입 이름' static 메소드
* parse; 파싱하다 = 알아먹게 바꾼다. 문법적 해부, 컴파일하다 = 기계어 번역
[표현법]
해당 Wrapper클래스이름.parseXXX(변환할문자열);
- 기본자료형 String형으로
String.valueOf(변환할기본자료형값) : 반환형 String
- 래퍼 클래스 비교
포장 객체는 내부 값 비교하기 위해 == 및 != 연산자 사용하지 않는 것이 좋다. (객체의 주소번지를 비교하기 때문)
객체의 주소 값이 아닌 iv값을 비교하도록 equals()를 사용!
'*JAVA*' 카테고리의 다른 글
[java] StringTokenizer 클래스 (0) | 2021.11.20 |
---|---|
[java] Math 클래스 (0) | 2021.11.20 |
[java] 컬렉션 프레임웍(Collections Framework) (0) | 2021.11.19 |
[java] IO 스트림 (0) | 2021.11.18 |
[java] API - java.lang 패키지 (0) | 2021.11.16 |