Java의 Reference Type(참조 타입)
Java에서는 Data Type으로 기본형(primitive)과 참조형(reference) 두 가지를 제공한다.
C와 비교해서 설명하자면 기본형은 C언어와 같이 정적(stack)영역에 잡히는 기본 Data Type으로 정수,실수,문자를 제공한다.
C++에는 Reference Type과 Pointer가 있는다. 여기서 Java의 Reference Type이 C++의 Reference Type과 같은것 인지 의문이 들 수 있다.
엄연히 말하면 Java의 Reference Type은 C++의 Pointer에 더 가깝다. 주소값이 저장되기 때문이다.
C의 구조체를 좀 더 Upgrade 한 것이 class라는 개념인데 구조체 또한 pointer로 가르킬수 있듯이(struct Node* next)
Java의 class 또한 이러한 Data Type을 제공하는데 이것이 Reference Type중 class Type이다.
class타입을 c언어식 으로 풀어서 말해보면...
class Node{ int data; Node next; public void setData(int data){ this.data = data; } public void setNext(Node next){ this.next = next; } } public class Main{ public static void main(String args[]){ //Node라는 class를 이용해 생성한 instance를 참조하는 참조형 변수들 Node head; Node cur; Node end; Node delete; head = new Node(); // Node class Type 객치의 주소를 head 참조 변수에 저장 } } | cs |
struct Node{ int data; struct Node * next; } void main(){ //Node라는 구조체를 가르키는 poniter struct Node *head; struct Node *cur; struct Node *end; struct Node *delete; head = (Node *)calooc(1,~~~~); } | cs |
Java의 Data Type의 종류와 크기
1. 기본 타입(primitive type)
1) 정수 타입
byte 1
char 2
short 2
int 4
long 8
2) 실수 타입
float 4
double 8
3) 논리타입
boolean 1
2. 참조 타입(reference type)
1)배열 타입
2)열거 타입
3)class 타입
4)interface 타입
운영체제 시스템에 따라 참조 타입은 크기가 달라지기 때문에 단정할 수 없다.
'Java언어' 카테고리의 다른 글
접근 지정자 (0) | 2018.08.20 |
---|---|
추상 클래스와 인터페이스의 차이 (0) | 2018.08.16 |
Thread Life Cycle (생명 주기) (0) | 2018.08.16 |
Thread 생성방법 (0) | 2018.08.16 |
Thread란? (1) | 2018.08.16 |