[JAVA]기본형과 참조형 데이터 타입의 모든
IT/JAVA

[JAVA]기본형과 참조형 데이터 타입의 모든

기본적으로 JAVA는 기본형 타입참조형 타입 2종류가 존재합니다.

 

기본형 타입

그리고, 기본형 타입을 다시 4타입으로 나눌 수 있습니다. 

  •  정수형 타입 : byte(1byte), short(2byte), int(4byte), long(8byte)
  •  실수형 타입 : float(4byte), double(8byte)
  •  문자형 타입 : char(2byte)
  •  논리 타입: boolean(1byte)  

 

참조형 타입

참조형 타입은 위의 기본형 타입 뺀 모든 형태(type)를 참조형 타입으로 볼 수 있습니다.

기본형 빼고 다라니 너무한가요? 

다들 아시다시피, 우리가 코드를 짤 때 기본형 이외에 수 많은 변수형태들을 만들어내기 때문에 딱 국한지어 말을 할 수 없다고 생각합니다.

그래도 크게 범주를 나눠본다면

  • 배열(array[])
  • 열거(enum)
  • 클래스(class)
  • 인터페이스(interface)  

 

기본형과 참조형의 차이점

 

  • 기본형

       -기본형 변수 안에는 직접 값들을 넣을 수 있습니다.

       -스택 영역에 저장

 

  • 참조형

        -참조형 변수 안에는 값들을 저장하고 있는 객체를 가르키는 주소를 가지고 있습니다.

        -ex) 기본형처럼 직접 값(a)를 담는 A라는 변수가 아닌, a를 가르키고 있는 주소(x1002)를 가지고 있는 변수A가 생성 

        -힙 영역에 저장

 

스택과 힙

  • 스택- 기본형 타입 변수들과 그 값들이 함께 저장된다.- 힙 영역에 저장되어 있는 참조형 타입 변수들의 reference(주소)가 저장된다.- 정적인 것들이 저장되는 곳
  • - 참조형 타입의 변수들이 저장된다. (new연산자를 통해 생성된 인스턴스 변수가 저장된다.)  - (cf. 인스턴스 변수의 reference는 스택에 저장)- 동적인 것들이 저장되는 곳