상세 컨텐츠

본문 제목

기본 자료형

프로그램 언어/JAVA

by 알케이88 2019. 11. 24. 17:19

본문

지난 포스트에도 말을 했듯이 자료형은 크게 기본형 자료형과 참조형 자료형으로 나뉜다.

 

기본형: C언어에서 유래되어 현재 자바 언어에서 기본적으로 제공해 주는 자료형이며

          사용할 바이트(메모리의 크기)가 정해져 있다.

          실제 값(data)을 저장한다.

          ex) int, char, long...

          참고: 일반적으로 int를 많이 사용하는데 그 이유는 CPU가 가장 효율적으로 처리할 수 있는 타입이기 때문이다.

                  만일 효율적인 실행보다 메모리를 절약하려면 byte나 short를 사용하면 된다. 

 

참조형: 클래스 자료형

          JDK에서 제공되는 클래스나 클래스를 코딩 시 프로그래머가 정의하는 클래스로 나뉜다

          클래스에 따라 사용하는 크기가 다르다.

          어떤 값이 저장되어 있는 주소(memory address)를 값으로 가진다

          ex) String(JDK 제공), Student(프로그래머 정의)...

 

더보기

메모리에는 1byte 단위로 일련번호가 붙어 있는데, 이 번호를 '메모리 주소(memory address)' 또는 간단히 주소라 한다. 객체의 주소는 객체가 저장된 메모리 주소를 뜻한다.

 

자바는 C언어와 달리 참조형 변수 간의 연산을 할 수 없으므로 실제 연산에 사용되는 것은 모두 기본형 변수이다. 

 

기본 자료형표

정수형에는 총 4가지의 자료형이 제공된다.

각 사용하는 바이트수는 다르다

 

BYTE

1바이트 단위로 자료를 핸들링하는 데 사용한다

동영상이나 음악 파일 같은 자료를 핸들링하는 데 사용한다.

 

128과 -129는 byte 범위를 넘어가 오류처리가 된다.

 

SHORT`

자바에서는 자주 사용을 안 하지만 C 나 C ++과 호환할 때 사용한다. 

 

INT

가장 많이 사용하는 정수 자료형이다. 

4byte를 사용한다.

-2 ³¹ ~ 2 ³¹-1까지 표현한다

한 비트가 표현할 수 있는 숫자는 0과 1이기에 총 2개를 표현할 수가 있다.

만일 두 비트가 있다면 총 2² 이 되어 4개를 표현 가능하다.

(0,0) (0,1) (1,0) (1,1) 0부터 3까지 숫자 표현해주기에 0~2²-1 이 된다.

 

총 32비트 중 맨 앞의 비트는 부호 비트로써 사용을 안 하기에

총 31개의 비트가 남는다.

그러므로 int 가 표현할 수 있는 수의 범위는 -2 ³¹개부터 2 ³¹-1이 된다.

 

LONG 

int의 범위가 넘어가는 숫자들은 long을 사용한다.

long을 사용할 때 4 바이트가 넘을 시 l, L 식별자를 사용하여 8바이트로 처리한다.

 

int 오류 이유와 long 사용법

 

바이트 크기와 표현 범위

문자형

내부적으로는 비트의 조합으로 표현

인코딩 vs 디코딩

 

인코딩: 각 문자에 따른 숫자 값(코드 값)을 부여[유니코드]

 

디코딩: 숫자 값을 원래의 문자로 변환

 

문자 세트( 아스키코드 / 유니코드)

 

아스키코드(ASCII) : 1 바이트로 영문자, 숫자, 특수문자 등을 표현

유니코드 (Unicode): 한글과 같은 복잡한 언어를 표현하기 위한 표준 인코딩 UTF-8/ UTF-16이 대표

                          문자를 변수에 저장 시 문자에 해당하는 코드 값이 저장

https://www.unicode.org/charts/PDF/UAC00.pdf 참고       

 

인코딩과 디코딩 음수값은 될 수가 없다.
한글 '가' 출력

CHAR

2byte나 그 이상을 사용하며 유니코드를 사용한다.

 

실수형

DOUBLE -> 8byte

실수형에서 기본적으로 사용

 

FLOAT -> 4byte

float를 사용할 때는 f, F 식별자를 사용

 

 

논리형

BOOLEAN

값이  true 이거나 false에 사용

 

 

관련글 더보기

댓글 영역