기본적으로 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는 스택에 저장)- 동적인 것들이 저장되는 곳
'IT > JAVA' 카테고리의 다른 글
[JAVA] 자바 length 와 size 의 차이 (0) | 2021.06.14 |
---|---|
[JAVA] Math.max와 Math.min으로 값 비교하기 (0) | 2021.06.11 |
[JAVA] 상속관계를 통한 final 연산자 맛보기 (0) | 2021.03.11 |
[JAVA] Mac에서 이클립스 사용하기 - src,bin 파일 (0) | 2021.03.11 |
[JAVA] 자바 생성자에 대한 모든 것 (0) | 2021.02.16 |