Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

mommy computer

자료형 데이터의 이해(data type) 본문

Programming/Java

자료형 데이터의 이해(data type)

Dahn 2016. 10. 17. 11:22

1. 자료형 데이터


1) 자료(data) : 컴퓨터가 데이터를 빠르고 정확하게 처리하게 하기 위해서는 

                   정량적인 데이터 고유의 표현내용을 전달해주어야 한다.


* cpu 네트형식으로 된 전기회로에 각 만나는 지점에 쇠구슬이 있다(core, 소자)

   전기 신호가 가해지면 쇠구슬이 돌아감.

   소자 1개 가지고 2개의 데이터를 표현할 수 있다 (binary digit = 짧게 bit)

   0과 1은 한개의 소자가지고 표현할 수 있지만, 3부터는 3개의 소자가 필요 and even more.


* 각각의 데이터를 표현하기 위해서(컴퓨터 상에서 연산시키기 위해서) 정한 약속이 아래와 같음.

  

  정수 데이터를 사용하기 위해서는 int라는 키워드를 통해서 메모리 공간을 확보해야 한다.

  실수 데이터는 float.

  문자형 데이터는 char.

  문자열 데이터는 string.

  논리형 데이터는 boolean.


  이처럼 특정 데이터를 사용하기 위해 만들어놓은 키워드를 "자료형"이라고 한다.

  자료형 데이터는 크게 기본형과 참고형으로 나뉘어진다. 



2. 자료형 중 기본형 데이터


1) 정수형


데이터 타입 

용량(byte 단위)

사용 가능한 숫자 범위 

byte 

1

-128 ~ 127

short

-32768 ~ 32767 

int (기본)

-21억(-2,147,483,648) ~ 21억(2,147,483,647)

long (숫자 뒤에 L접미사를 붙인다)

±900경


    <!> 23이란 숫자는 자동으로 4byte영역에 표시된다. 이때 뒤에 L을 붙이면 8byte영역에 들어간다.

         23L하고 그냥 23은 다른 데이터이다.

         (8)                (4)

         컴퓨터에서는 value만 따지지말고 그 크기(byte, 자료형 타입)도 같이 본다.

 

2) 실수형 


데이터 타입 

용량(byte 단위) 

사용 가능한 숫자 소수부 범위

float (숫자 뒤에 F를 붙인다)

10의 38승 

double (기본. D를 붙이나 보통 생략)

10의 308승 


3) 문자형

- char라는 약속을 사용하며, 2byte에 해당한다.

- 소따옴표 안에 넣은 숫자 형태, 또는 \u(유니코드의 약자)를 사용한다.

   ex. 0 - 4byte(int), '0' - 2byte(char)

   ex. \u0041 : 0041은 16진수를 의미한다. 00은 십진수로 0이고, 41은 십진수로 65에 해당한다.

        계산기에서 Hex를 클릭하고 41을 누른 후, Dec을 클릭하면 값이 65가 나옴

- '시작'에서 cmd 창을 띄우고, 키보드 alt를 누르고 키패드의 숫자 65를 누르면 "A"라는 글자가 나옴

   처음 미국 아스키라는 협회에서 코드값을 정함. 자판 하나하나에다가 코드값을 정해서, 그거만 누르면 컴퓨터에 전달되는 것임.

   그리고 이후, 컴퓨터가 보편화되면서 전세계 문자를 정하는 유니코드(유니버셜코드)가 나오게 됨. 

   자바는 유니코드를 따르며, C언어는 아스키를 따름.

   ex. '0' : 48 / 'A' : 65 / 'a' : 97 

        48이 0이므로 50은 2임. 이런 규칙을 따르나 외울 필요는 없음.


4) 논리형 boolean / 1byte

- true / false라는 두 개의 값을 갖고 있다. (ex. 10>5 = true)



3. 자료형 중 참조형 데이터

- Reference type이라고도 하며, 기본형 데이터와 다르게 앞의 글자를 대문자로 표기한다.

- 문자열을 표현할 때 사용한다. String / 4byte

- String : 대문자로 시작하니까 '클래스'이고, '키워드'는 아니다.

- 탄생배경 : 'a' 'b' 'c' ->  "abc" 당연히 한 번에 쓰는게 더 편리함. 문자들의 집합이라고 할 수 있음.

- 문자열 안에는 0~무한대에 가까운 문자열을 기재할 수 있다 (용량, 표현의 제한을 받지 않는다)

   ex) "" : 빈 문자열은 에러가 아님

- 제어문자(escape sequence)로 엔터, 탭 등을 제어할 수 있다. (ex. \n, \t)

Comments