들어가기 전에
기본 자료형을 객체의 형태로 바꾸어주는 Autoboxing에 대해 알아봅니다.
학습 목표
Autoboxing을 설명할 수 있습니다.
핵심 단어
- 기본 자료형과 래퍼 클래스
- Autoboxing
강의 듣기
들어가기 전에
기본 자료형을 객체의 형태로 바꾸어주는 Autoboxing에 대해 알아봅니다.
학습 목표
Autoboxing을 설명할 수 있습니다.
핵심 단어
강의 듣기
Autoboxing
byte, short, int, char 등의 기본 자료형에 대해서 Java 가상 머신은 정확하게 필요한 만큼의 메모리를 할당합니다. 하지만 객체에 대해서는 이 객체를 가리키는 4바이트짜리 포인터와 힙의 공간을 할당합니다.
따라서 기본 자료형은 객체가 아니고 이것들은 객체 메소드를 상속받지 않습니다. 하지만 Java에는 기본 자료형뿐만 아니라 래퍼 클래스(Wrapper Class)가 존재합니다. 래퍼 클래스는 객체 버전의 기본 자료형입니다. byte는 Byte, short는 Short, int는 Integer, char는 Char로 바꾸면 됩니다.
이 둘 사이에서 Java는 autoboxing을 이용해서 이 둘을 적절하게 서로 바꿉니다.
생각해보기
1) 래퍼 클래스는 기본 자료형과 어떤 점이 다른가요?
comment
강의가 잘렸네요. 원래 자바에서는 기본형과 참조형(여기서는 래퍼 클래스의 객체)간의 연산이 안됐는데 이제는 컴파일시 자동으로 형변환 돼서 연산이 가능하다는 내용입니다. 예를 들어 int i = 10; Integer obj = new Integer(3); int sum = i + obj; 이러한 연산을 시키면 컴파일러가 obj를 기본형(int)으로 바꿔 연산해준다는 겁니다. 기본형을 참조형으로 형변환하는걸 오토박싱, 참조형을 기본형으로 형변환하는걸 언박싱이라고 합니다.
객체라는 점이다. Object 클래스를상속한다.
기초형에서 래퍼클래스로 형변환하면서 Object class를 상속함. Object class가 제공하는 다양한 메소드등을 사용할수 있음.
객체이기 때문에 상속이 가능하고 메소드 이용도 가능하다
앞문자가 대문자다.
int 는 Integer라고 쓰고, 그 외 short,long,double,string,boolean등은 앞 문자를 대문자로 쓴다.
오토박싱 설명중에 끝나네요;;