안녕하세요. pitang입니다.
기본 API 클래스, 마지막 Wrapper클래스 보겠습니당~!
Wrapper 클래스
자바는 기본 타입의 값을 갖는 객체를 생성할 수 있다. 이런 객체를 포장 객체라고 한다.
그 이유는 기본 타입의 값을 내부에 두고 포장하기 때문이다.
포장 객체의 특징은 포장하고 있는 기본 타입 값은 외부에서 변경할 수 없다.
내부의 값을 변경하고 싶다면 새로운 포장 객체를 만들어야 한다.
기본 타입 | 포장 클래스 |
byte | Byte |
char | Character |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
Boxing, Unboxing
기본 타입의 값을 포장 객체로 만드는 과정을 박싱,
포장 객체에서 기본 타입의 값을 얻어내는 과정을 언박싱이라고 한다.
ex1)
- Boxing
ex2)
- Unboxing
autoBoxing, autoUnboxing
자동 박싱은 포장 클래스 타입에 기본값이 대입될 경우 발생,
자동 언박싱은 기본 타입에 포장 객체가 대입될 경우에 발생한다.
ex1)
-auto Boxing
ex2)
auto Unboxing
포장 값 비교, 강제형변환
ex1)
포장 타입은 null값 저장이 가능하다.
포장값은 강제 형 변환이 안된다.
-> 200이 출력된다.
ex2)
포장 객체는 내부의 값을 비교하기 위해 ==와 != 연산자를 사용할 수 없다. ==와 !=는 포장 객체의 참조를 비교하기 때문이다.
내부의 값을 비교하려면 언박싱한 값을 비교해야 하며, equals() 메서드로 내부 값을 비교하는 것이 좋다.
-> 기본 타입명 + Value() 메서드를 호출하면 박싱된 포장 객체에서 다시 기본 타입의 값을 얻을 수 있다.
ex3)
-> Arrays.copyOf(원본 배열, 복사할 길이) - 원본 배열의 0번 인덱스에서 복사할 길이만큼 복사한 타깃 배열을 리턴한다.
Arrays.copyOfRange(원본 배열, 시작 인덱스, 끝 인덱스)
- 원본 배열의 시작 인덱스(포함)에서 끝 인덱스(미포함)까지 복사한 배열을 리턴한다.
-> 컬렉션은 15장에서 더 자세히 배울 것이다.
감사합니다.
*m1 맥북을 사용 중입니다.*
'6개월 대장정 > JAVA 개념' 카테고리의 다른 글
24일차 - 제네릭 (0) | 2021.09.15 |
---|---|
23일차 - 멀티 스레드 (0) | 2021.09.15 |
22일차 - 기본 API 클래스(3, Object클래스) (0) | 2021.09.13 |
21일차 - 기본 API 클래스(2, 정규표현식) (0) | 2021.09.12 |
20일차 - 기본 API 클래스(1, String클래스) (0) | 2021.09.09 |