본문 바로가기
공부/java

자바(java)의 데이터 타입

by 샤샤샤샤 2023. 1. 22.

데이터 타입

 

모든 데이터는 그에 맞는 형식이 존재한다.

형식은 크게 값타입과 참조타입으로 나눠진다.

 

값타입: 기본형 8개. 기본적으로 주어지는 정해진 크기의 용량을 가진다.

참조타입 : 문자열형, 함수형, 객체형이 존재한다. 직접적인 데이터가 아닌, 데이터들이 담긴 주소값을 담는다.

데이터 타입은 기본형 8개와 나머지로 이뤄진다.

 

기본형

(괄호 안의 숫자는 해당 형식들이 선언될때 가지는 메모리 용량이다. 단위는 byte.)

 

1. 정수형 : int(4), long(8), short(2), byte(1), char(2)

2. 실수형: double(8), float(4)

3. 논리형 : boolean (1)

 

참조형

문자형 :  char 로 선언. 오직 한개의 문자만 담을 수 있으며 단따옴표(' ')를 통해 표현한다.

문자열형 : String 로 선언. 문자열을 담을수 있으며 쌍따옴표(" ")를 통해 표현한다.

함수형 : 익명함수 (람다식) 코드를 담는다.

객체형 : 클래스 객체 코드를 담는다.

 

같은 1이라는 데이터를 값타입과 참조타입으로 표현해보자.

 

값타입 변수 - 1byte의 공간

메모리값 : 0001      --    이런 식으로 직접적으로 메모리에 데이터를 입력해 값을 저장한다.

 

참조타입 변수 - 1byte의 공간

메모리값 : 1010      --    이런 식으로 데이터가 저장된 메모리 주소를 입력한다. 여기서 0101...1010은 데이터 값이 아닌 메모리 주소이며, 실제 데이터는 0101...1010이라는 주소값을 가진 메모리가 저장하고 있다.

 

데이터의 크기가 문자열형처럼 유동적이라면 참조형 데이터 타입이다..

 

 

기본형 알아보기

 

정수형

int myInt = 10;
long myLong = 20L;
short myShort = 30;
byte myByte = 40;

[데이터 형식]  + [변수 이름]  형식으로 선언한다.

 

long의 경우, 특히 더 많은 메모리가 할당된 데이터라는 것을 표시하기 위해 할당값  뒤에 L을 붙인다.

short 와 byte가 존재하기는 하나, 기본적으로 java는 컴파일링 과정에서 모든 숫자 데이터에 4byte의 데이터를 사용하기에 그냥 int형식을 사용하는게 좋다.

 

문자형 char

        char myChar = 'A';  //아스키코드표 A는 65이다.
        System.out.println( myChar );       결과 : A
        System.out.println( (int)myChar );  결과 : 65
        
        char myHan = '가'; //유니코드표 '가'는 44032이다.
        System.out.println( myHan );           결과 : 가
        System.out.println( (int)myHan );      결과 : 44032
        System.out.printf("%x\n", (int)myHan); 결과 : ac00

아스키 코드는 영문 자판으로 입력할수 있는 모든 문자에 대응하는 숫자다.

그러나 영어가 아닌 다른 언어는 표현할수 없기에, 유니코드가 만들어졌다.

유니코드는 현존하는 대부분의 문자가 대응되는 숫자를 말한다.

 

따라서 char 문자형은 데이터값에 대응하는 유니코드 값을 가지기도 한다.

 

실수형

double myDouble = 6.24d;  //double은 리터럴 뒤에 d를 쓰거나 생략 가능
float myFloat = 3.14f;    //float는 리터럴 뒤에 f필수. 안쓰면 자동적으로 double형식이 됨.

 

불리언(논리형)형

boolean myBoolean = false;

오직 true 또는 false만 값으로 갖기 때문에 1바이트의 용량만 차지한다.

 

문자열형 (가변 크기. 객체형, 참조타입 변수)

String myString "흠하하하하하123";

쌍따옴표로 감싼다.

작은 따옴표(단따옴표)로 감쌀시 에러가 발생한다.

 

 

같은 타입의 변수를 한번에 선언하는 것이 가능하다.

int a =10, b =20, c= 30;

 

 

'공부 > java' 카테고리의 다른 글

자바(java)의 버퍼 메모리  (0) 2023.01.23
자바 데이터 타입 변환(형변환)  (0) 2023.01.22
타임리프 사용법  (0) 2023.01.22
자바(java)의 출력 함수  (0) 2023.01.22
19일차  (0) 2022.12.08