본문 바로가기

6개월 대장정/JAVA 개념

23일차 - 기본 API 클래스(4, Wrapper 클래스)

반응형

안녕하세요. pitang입니다. 

기본 API 클래스, 마지막 Wrapper클래스 보겠습니당~!

 

Wrapper 클래스

자바는 기본 타입의 값을 갖는 객체를 생성할 수 있다. 이런 객체를 포장 객체라고 한다.

그 이유는 기본 타입의 값을 내부에 두고 포장하기 때문이다. 

포장 객체의 특징은 포장하고 있는 기본 타입 값은 외부에서 변경할 수 없다.

내부의 값을 변경하고 싶다면 새로운 포장 객체를 만들어야 한다.

 

기본 타입 포장 클래스
byte Byte
char Character
short Short
int Integer
long Long
float Float
double Double
boolean Boolean

 

Boxing, Unboxing

기본 타입의 값을 포장 객체로 만드는 과정을 박싱,

포장 객체에서 기본 타입의 값을 얻어내는 과정을 언박싱이라고 한다.

 

ex1)

- Boxing

p04wrapper Ex01 Boxing

 

ex2)

- Unboxing

p04wrapper Ex03 Unboxing

 

 

 

 

 

 

autoBoxing, autoUnboxing

자동 박싱은 포장 클래스 타입에 기본값이 대입될 경우 발생,

자동 언박싱은 기본 타입에 포장 객체가 대입될 경우에 발생한다.

 

ex1)

-auto Boxing

p04wrapper Ex02 auto boxing

 

ex2)

auto Unboxing

p04wrapper Ex04 auto unboxing

 

포장 값 비교, 강제형변환

 

ex1)

포장 타입은 null값 저장이 가능하다.

포장값은 강제 형 변환이 안된다.

p04wrapper Ex05

-> 200이 출력된다.

 

ex2)

포장 객체는 내부의 값을 비교하기 위해 ==와 != 연산자를 사용할 수 없다. ==와 !=는 포장 객체의 참조를 비교하기 때문이다. 

내부의 값을 비교하려면 언박싱한 값을 비교해야 하며, equals() 메서드로 내부 값을 비교하는 것이 좋다.

p04wrapper Ex06 - console

-> 기본 타입명 + Value() 메서드를 호출하면 박싱된 포장 객체에서 다시 기본 타입의 값을 얻을 수 있다.

 

ex3)

p04wrapper Ex07(1)

-> Arrays.copyOf(원본 배열, 복사할 길이) - 원본 배열의 0번 인덱스에서 복사할 길이만큼 복사한 타깃 배열을 리턴한다.

     Arrays.copyOfRange(원본 배열, 시작 인덱스, 끝 인덱스)

     - 원본 배열의 시작 인덱스(포함)에서 끝 인덱스(미포함)까지 복사한 배열을 리턴한다.

p04wrapper Ex07(2)

-> 컬렉션은 15장에서 더 자세히 배울 것이다.

console

 

감사합니다. 

 

*m1 맥북을 사용 중입니다.*

 

 

 

728x90
반응형