
→ 기본 자료형은 속성과 기능을 가질 수 없지만 래퍼 클래스를 사용함으로 객체로서 속성과 기능을 부여할 수 있게 된다.
기본형을 래퍼클래스로 변형해주는 것
내부적으로 컴파일러가 생성자를 호출하도록 만들어주는 과정
//아래와 같이 변수를 선언하면
Integer num1 = 10;
//Integer 클래스(래퍼 클래스)에서 기본 자료형을 감싸주는 처리를 한다.
Integer num1 = Integer.valueOf(10);
↕️
래퍼형을 기본형으로 바꿔주는 것
Integer num2 = 10;
int num3 = num2; //오류가 발생하지 않는다.
//왜냐면
int a = num3.intValue();
//래퍼형 → 기본형으로 바꿔주는 언박싱 처리가 되었기 때문이다.
⚠️래퍼클래스는 기본 자료형을 쓸 때보다 연산이 느리기 때문에 빠른 작업이 필요할 때는 기본 자료형을 쓰는 것이 좋다.
final은 참조 주소의 변경은 막아주지만 내부 값의 변경은 막아주지 않는다.(→불변객체X)
불변객체를 사용하려면 내부 속성에 final을 붙여줘야 한다.