JAVA를 JAVA라

[JAVA] 오토 박싱, 오토 언박싱 본문

JAVA/JAVA 수업

[JAVA] 오토 박싱, 오토 언박싱

샛별KIM 2021. 6. 26. 14:37

p타입과 랩퍼클래스 R타입을 비교하거나 값을 서로에게 넣을 때엔 캐스팅 또는 프로모션이 필요하다.

 

[JAVA] 캐스팅과 프로모션

캐스팅 / 캐스트 큰 타입을 작은 타입에 대입할 때 반드시 해야 하는 연산 (type)을 명기해서 값을 대입시킨다.  이때 주의할 점! ★★★ 상위 비트를 대입할 때 작은 타입에 맞게 잘라내기 때문에

shoot-forthemoon.tistory.com

 

하지만 p타입을 R타입에 넣을 때 자동으로 랩퍼클래스로 변환되는 것을 오토 박싱이라고 한다.

double pi = 3.14;
Double rPi = pi;
rPi = 3.14; 
//이 때, 3.14는 기본 타입인 double타입이다. Double 타입인 rPi에 double 타입을 넣기 위해선
//원래 new Double(3.14)로 넣어야 하지만 오토박싱으로 인해 자동으로 값을 넣을 수 있다.

Set<Double> cSET = new HashSet<Double>();
cSET.add(rPi);
cSET.add(3.14);

 

반대로 R타입을 p타입에 넣을 때 자동으로 변환되어 들어가는 것을 오토 언박싱이라고 한다.

int numInt = 0;
Integer integer = 10;

numInt = integer; //p에 R 넣기
//integer 객체 안에 int 값이 나와서 numInt에 대입
//이게 오토 언박싱입니다!

'JAVA > JAVA 수업' 카테고리의 다른 글

[JAVA & HTML & DB] 21.06.28~ 21.06.29  (0) 2021.06.29
[JAVA] 컬랙션, collection  (0) 2021.06.26
[JAVA] 캐스팅과 프로모션  (0) 2021.06.26
[JAVA] 랩퍼 클래스, Wrapper Class  (0) 2021.06.26
[JAVA] 메모리 영역  (0) 2021.06.26
Comments