벌써 프로그래밍 공부를 시작한지 어느덧 6개월차 그럼에도 불구하고 여전히 나는 불안하다 부족한 것 같아😢 꾸준히 노력해야 하는걸 알기에 다시 기초부터 빠르게 복습해보고자 포스팅 합니다. 스스로 공부하고 생각했던 것이기 때문에 혹시라도 틀린부분이 있다면 댓글로 둥글게 얘기해주세요👀💕
하나의 값을 저장할 수 있는 기억 공간 👉 프로그램에서 항상 변하는 값을 나타낼 필요가 있다. 이 때, 표현하려는 자료에 맞는 데이터 타입(자료형)을 이용해 변수를 선언해야 한다.
변수를 선언하면 해당되는 자료형의 크기 만큼 메모리가 할당
변수는 할당된 메모리를 가리키는 이름
ex) int level = 10; // 4byte 정수형 메모리가 level이라는 이름으로 할당됨.
정수형 | 문자형 | 실수형 | 논리형 | |
---|---|---|---|---|
1byte | byte | boolean | ||
2byte | short | char | ||
4byte | int | float | ||
8byte | long | double |
아래에는 기본형과 참조형의 변환을 도와주는 클래스와 오토/언박싱에 대해 알아본다.
int i = 5;
Integer iObject = new Integer(7);
int sum = i + iObject;
// 이 경우 에러 발생(JDK 1.5이전까지)
JDK 1.5 부터 컴파일러가 자동으로 변환하는 코드를 넣어줬다.
컴파일러가 Integer 객체를 int 타입 값으로 변환해주는 intValue()를 추가 해주는 것.
int i = 5;
Integer iObject = new Integer(7);
int sum = i + iObject.intValue();
이렇게, 기본형 값을 저장해야할 때나 형변환이 필요할 때도 컴파일러가 코드를 추가해준다.
- 오토박싱(Autoboxing): 기본형 값을 래퍼 클래스의 객체로 자동 변환 해주는 것
- 언박싱(Unboxing): 래퍼 클래스를 기본형 값으로 바꿔주는 것