본문으로 바로가기

Data Type(기본형,참조형)의 종류와 Size

category Java언어 2018. 8. 16. 19:14

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