-
Notifications
You must be signed in to change notification settings - Fork 0
Data Type | Size | Description |
---|---|---|
byte |
1 byte | Stores whole numbers from -128 to 127 |
short |
2 bytes | Stores whole numbers from -32,768 to 32,767 |
int |
4 bytes | Stores whole numbers from -2,147,483,648 to 2,147,483,647 |
long |
8 bytes | Stores whole numbers from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
float |
4 bytes | Stores fractional numbers. Sufficient for storing 6 to 7 decimal digits |
double |
8 bytes | Stores fractional numbers. Sufficient for storing 15 decimal digits |
boolean |
1 bit | Stores true or false values |
char |
2 bytes | Stores a single character/letter or ASCII values |
객체지향 언어인 자바는 대부분이 다 객체로 이루어져 있다. 자바는 8가지 원시형타입(primitive type)을 제공하고 있다. 그리고 이 8가지 타입을 제외한 모든 자료형은 참조형(reference type)이다. 참조형은 따로 지정해주지 않으면 기본적으로 null
이다.
자료구조를 이해하려면 데이터가 어떻게 저장 되는지 이해할 수 있어야한다.
컴퓨터는 크게 CPU (Central Processing Unit, 중앙 처리 장치), RAM(Random Access Memory, 임의 접근 메모리), 보조 저장소(secondary storage), IO 장치로 나누어져 있다.
**자료의 구조(Data structure)**라는 건, 데이터가 어떤 형식으로 저장 되는지에 대한 문제다. 보통 2차저장소 같은 영속화되는 데이터는 데이터베이스가 관여한다. 우리는 주로 메인 메모리에서 데이터가 어떻게 저장되어야할지 생각해보면 된다.
위에 나온 것과 같이 boolean
는 1 bit
만큼 메모리를 차지한다. 정보를 저장하는 최소 단위는 1 bit
다. boolean
은 yes or no(0 or 1)이라는 정보를 담기에 1 bit
이면 충분하다.
97 | 01100001 | a |
---|---|---|
98 | 01100010 | b |
99 | 01100011 | c |
100 | 01100100 | d |
101 | 01100101 | e |
102 | 01100110 | f |
103 | 01100111 | g |
104 | 01101000 | h |
105 | 01101001 | i |
ASCII 테이블은 0~255까지의 수를 문자와 매핑시킨 테이블이다.
수 104, 105 는 character형으로 “hi” 로 출력된다.
0~255까지의 수를 인정하기 때문에 8개 비트,256(
더 나아가 유니코드를 사용하면 세상의 모든 문자와 이모지까지 표현할 수 있다.
있음과 없음, yes or no, 0과 1의 중첩으로 우린 많은 정보를 표현해내고 있다.