Memo/확장 메모

자바의 데이터 타입 : 기본형과 참조형

생각없이 해도 생각보다 좋다. 2022. 10. 4. 23:46

자바의 기본형과 참조형의 차이

기본형(Primitive Type)은 리터럴을 할당할 수 있는 형을 의미합니다.
참조형(Reference Type)은 기본형을 제외한 모든 형을 의미하며, 실제 저장된 값이 아닌 값이 저장된 메모리 공간의 주소값을 할당하는 형입니다.

 

자료형(Data Type)

: 변수를 담을 공간을 의미합니다.

기본형(Primitive Type)

: 리터럴을 할당할 수 있는 형을 의미합니다.

/*
리터럴
: 문자 그대로의 의미를 지닌 값으로, 예를 들면, 1, 2, 3은 정수이기에 정수를 의미합니다. 그리고 0.1, 0.2, 0.3은 소수, 'a', 'b', 'c'는 문자, "hello"는 문자열이기에 문자열을 의미합니다. 이러한 값을 리터럴이라고 합니다.
*/

>기본형 종류

: 각각의 Type마다 할당할 수 있는 종류의 리터럴 값, 그리고 메모리 공간을 차지하는 바이트가 있습니다.

Type 바이트
boolean 참과 거짓, true & false 1 바이트
char 문자 2 바이트
byte 정수 1 바이트
int 2 바이트  
long 4 바이트  
float 실수 4 바이트
double 8 바이트  

참조형(Reference Type)

: 기본형을 제외한 모든 형을 의미하며, 실제 저장된 값이 아닌 값이 저장된 메모리 공간의 주소값을 할당하는 형입니다.

: 자바에서 정의되어 있는 클래스, 인터페이스 혹은 사용자가 정의한 클래스 등 자바의 모든 객체가 참조형이 될 수 있습니다. (아래 예시 참고)

//자바에서 정의된 클래스를 참조형으로 사용한 경우
Stack<Integer> stc = new Stack<>(); //참조형: Stack<Integer>
//자바에서 정의된 인터페이스를 참조형으로 사용한 경우
Queue<Integer> que = new LinkedList<>(); //참조형: Queue<Integer>
//사용자가 임의로 정희한 Type 클래스를 참조형으로 사용한 경우
Type var = new Type(); //참조형: Type
/*
주소와 주소값
: 자바를 실행할 때, 운영체제로부터 메모리 공간을 할당 받고, 변수, 클래스 등과 같은 자바의 데이터들은 제공받은 메모리 공간에 각각 저장됩니다. 그리고 이 메모리 공간에 저장될 때, 데이터의 종류에 따라 필요한 크기의 방을 만들어 저장하는데, 이를 주소라고 합니다. 그리고 주소값은 그 주소를 찾아가기 위한 명패라고 생각하면 좋습니다.
*/

'Memo > 확장 메모' 카테고리의 다른 글

객체지향 프로그래밍(OOP)  (0) 2022.10.05