언어/Java

[Java] 변수 - 타입

JJangGu 2019. 9. 4. 21:47

자료형은 값이 저장될 공간의 크기와 저장형식을 정의한 것이다.

 

자료형은 크게 기본형참조형으로 나눌 수 있는데,

기본형 변수는 값을 저장하고,

참조형 변수는 어떤 값이 저장되어 있는 주소를 값으로 갖는다.

(메모리에는 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