자료형은 값이 저장될 공간의 크기와 저장형식을 정의한 것이다.
자료형은 크게 기본형과 참조형으로 나눌 수 있는데,
기본형 변수는 값을 저장하고,
참조형 변수는 어떤 값이 저장되어 있는 주소를 값으로 갖는다.
(메모리에는 1byte단위로 일련번호가 있는데, 이를 메모리 주소라고 한다. 위에서 말한 주소는 변수, 객체가 저장된 메모리 주소를 뜻한다.)
* 기본형 변수
분류 | 타입 |
|||
논리형 | boolean (1 byte) | |||
true 와 false 중 하나를 값으로 갖고, 조건식과 논리적 계산에 사용. | ||||
문자형 | char (2 byte) | |||
문자를 저장하는데 사용, 변수에 하나의 문자만 저장 가능. | ||||
정수형 | byte (1 byte) | short (2 byte) | int (4 byte) | long (8 byte) |
정수를 저장하는데 사용. int가 기본 자료형. | ||||
JVM의 피연산자 스택(operand stack)이 피연산자를 4byte 단위로 저장하기 때문에 크기가 4 byte 보다 작은 자료형(byte,short)의 값을 계산할 때는 4 byte로 변환하여 연산이 수행된다. -> int를 사용하는 것이 오히려 효율적이다.
|
||||
실수형 | float (4 byte) | double (8 byte) | ||
실수를 저장하는데 사용. double이 기본 자료형. |
* 참조형 변수
참조형 변수 : 객체의 주소를 저장하며, 기본형을 제외한 나머지 타입.
참조형 변수를 선언할 때는 변수의 타입으로 클래스의 이름을 사용하므로 클래스의 이름이 참조변수의 타입이 된다.
클래스이름 변수이름; // 이런 형태로 선언
ex) Date today = new Date(); // Date객체를 생성해서, 그 주소를 today에 저장
new는 객체를 생성하는 연산자이고, 결과는 생성된 객체의 주소이다.
즉 이 주소값이 대입연산자 '='를 통해서 참조변수에 저장되는 것.
어떤 객체의 주소도 저장되어 있지 않은 경우 참조형 변수는 null값을 가지게 된다.
[참고 : Java의 정석]
'언어 > Java' 카테고리의 다른 글
[Java] JVM이란? (0) | 2019.09.25 |
---|---|
[Java] wrapper class (0) | 2019.09.17 |
[Java] 변수 - 형변환(Casting) (0) | 2019.09.05 |
[Java] 변수 - 선언과 초기화 (0) | 2019.09.04 |