[CS] 자료형, data type

Yeong·2023년 4월 10일
0

값의 타입에 따라 저장될 공간의 크기와 저장 형식을 정의한 것 !

변수(variable)란 데이터(data)를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 의미한다.

변수를 선언할 때는 저장하려는 값의 특성을 고려하여 가장 알맞은 자료형을 변수의 타입으로 선택하면 된다.

데이터 타입(자료형)은 크게 두가지로 구분된다.

  • 기본형(primitive type) : 계산을 위해 실제 값을 저장한다. 변수의 값을 읽기만 할 수 있다.
  • 참조형(reference type) : 값을 저장하고 있는 메모리 공간의 주소을 저장한다. null 또는 객체의 주소를 갖는다. 변수의 값을 읽고 변경할 수 있다. (read & write)

기본형 타입

크게는 논리형 (boolean), 문자형 (char), 정수형 (byte, short, int, long) 실수형 (float, double) 으로 나뉜다.

  • 특징
    - 모두 소문자로 시작된다
    - 비객체 타입이므로 null 값을 가질 수 없다. (기본값이 정해져 있음)
    - 변수의 선언과 동시에 메모리 생성
    - 모든 값 타입은 메모리의 스택(stack)에 저장됨
    - 저장공간에 실제 자료 값을 가진다
    타입할당되는 메모리 크기기본값데이터의 표현 범위
    논리형boolean1 bytefalse
    정수형byte1 byte0
    short2 byte0-32,768 ~ 32,767
    int(기본)4 byte0-2,147,483,648 ~ 2,147,483,647
    long8 byte0L-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
    (접미사 'l'또는 'L'을 붙여준다.)
    실수형float4 byte0.0F (접미사 'f' 또는 'F'을 붙여준다.)
    double(기본)8 byte0.0(1.7 X 10-308) ~ (1.7 X 10308) 의 근사값
    문자형char2 byte (유니코드)'\u0000'

참조형 타입

간단히 말하자면, 위의 8가지 자료형(primitive type)을 제외한 나머지를 말한다고 보면 된다.

기본적으로 제공하는 클래스, 내가 스스로 만든 클래스, 배열, 열거 타입, 인터페이스 등을 모두 참조형이라고 한다.

  • 특징
    • 기본형 과는 달리 실제 값이 저장되지 않고, 자료가 저장된 공간의 주소를 저장한다.
    • 즉, 실제 값은 다른 곳에 있으며 값이 있는 주소를 가지고 있어서 나중에 그 주소를 참조해서 값을 가져온다.
    • 배열([])과 객체({}), 함수(function(){})가 대표적이다.
    • 메모리의 힙(heap)에 실제 값을 저장하고, 그 참조값(주소값)을 갖는 변수는 스택에 저장
    • 참조형 변수는 null로 초기화 시킬 수 있다.
      타입기본값할당되는 메모리 크기
       배열(Array) Null4 byte
      (객체의 주소값을 저장하니까)
      열거(Enumeration) Null‘’
       클래스(Class) Null‘’
       인터페이스(Interface)  Null‘’

후기

가장 기본이 되는 지식인만큼 기본을 보다 탄탄히 다져야겠다는 생각을 했다. JAVA공부를 할 때 int와 interface를 자주 썼었는데 변수의 특성에 따라 좀 더 상세하게 자료형을 작성해야겠다는 생각을 했다.

0개의 댓글