Java

[Java] 기본 자료형과 객체(참조)자료형

noobdev 2019. 11. 15. 20:42

자바의 변수에는 기본 자료형(primitive type)과 객체(reference type)으로 나뉜다.

기본 자료형은 데이터가 변수에 직접 저장되고, 객체자료형은 객체를 가리키는 메모리 주소가 변수에 담긴다.

객체 자료형은 C계열에서는 포인터라고 하며 자바에서는 레퍼런스라고 부른다.

 


위의 사진은 기본 자료형으로써 데이터가 변수라는 저장공간에 직접 담긴 모습이다.

하지만 객체 자료형은 데이터가 아닌 데이터가 있는 곳에 주소를 변수에 담는다.

 

위의 사진처럼 객체가아닌 주소가 변수에 담기게 된다.


기본 자료형의 종류

기본 자료형에는 정수형, 실수형 논리형이 있다.

 

1. 정수형 변수

정수형
byte 1byte
char 2byte
short 2byte
int 4byte
long 8byte

정수 타입은 정수 데이터를 저장할 때 사용한다.

정수 타입에는 총 5가지의 타입이 있으며 저장할 수 있는 공간의 크기가 모두 다르다.

자바는 기본적으로 정수 연산을 int타입으로 수행하며 그렇기 때문에 저장하려는 값이

특별한 목적이 아니라면 int형을 사용하는 것이 좋다.

* char타입은 유니코드 값을 저장할 목적으로 쓰인다.

 

2. 실수형 변수

실수형
float 4byte
double 8byte

2가지의 타입이 있으며 실수(소숫점)을 저장할 때 사용한다.

 

3. 논리형 변수

논리형
boolean 1byte

논리형 변수는 true 아니면 false를 리턴하는 2가지 값 밖에 없다.

반복문 혹은 조건문 등 프로그램의 흐름을 제어하는 용도로 쓰인다.

 

 


객체 자료형

객체 자료형은 자주 쓰이는 문자열을 저장하는 String 타입부터 개발자가 만들어 사용하는 클래스 그 외에도 배열 등 수많은 종류의 타입이 있다.

블로그에서 다 기술하는 것은 불가능할 듯 하다.'

객체 자료형 변수에 데이터가 아닌 데이터의 주소가 담겨 있으며 데이터의 주소를 참조하여 데이터를 사용한다 하여

참조 자료형이라고도 불린다.

객체 자료형은 같은 자료형이라도 객체를 생성할 때 마다 다른 객체가 생성된다.

예를 들어 int[] arr1 = {1, 2, 3}; 과 int[] arr2 = {1, 2, 3}; 는 같은 값을 가지는 객체이지만 메모리 내에 서로 다른 장소에 저장되며 각가이 가리키는 주소도 서로 다르다.

 

 

 

 

 

 

 

"본 포스팅은 필자가 공부한 것을 정리해 놓은 것으로 오류가 존재할 수 있습니다."