Data Type   자료형, 데이터형, 데이터 타입

(2024-09-04)

Type , 타입 , 데이터 유형, 사용자 정의 자료형


1. 자료형 (Data Type)시스템/컴파일러/사람 등이 볼 때, 구분 가능한 자료 형태

  ㅇ 컴퓨터 내, 특정 비트들이 그룹핑되어, 자기들끼리 만 사용되는(연산되는) 형태
     - 例) 숫자형(정수형,실수형), 문자형, 논리값형, 날짜형 등 


2. 자료형의 형태, 오류, 범위 등변수들이 가질 수 있는 값의 집합/범위/크기 및 연산 가능 형태/규칙들
     - 값의 `집합/범위/크기` 및 이 값들에 적용가능한 `연산`들에 따라 다르게 규정됨

  ㅇ 적용 오류 (서로다른 자료형 간에) 例)
     - 타입 오류 例)
         . 정수형 자료에, 범위가 더 큰 실수형 자료를 적용하거나, 
         . 문자열형 자료에, 해당 문자열 연산 규칙과는 달리 산술사칙 연산을 적용하면,
         . 타입 오류 등이 나타남

  ㅇ 적용 가능 범위 例)
     - 자바 언어의 int 형의 가능한 `값 범위` 및 `연산자`
        . (-231 ~ 231-1) 사이의 정수 집합 내에서,
        . (+,*,-,/,%,<,> 등)의 산술연산자들 만을 사용할 수 있음


3. 자료형의 구분 (1)  :  (기본, 파생, 참조)기본 자료형,원시 자료형 (Primitive Data Type), 내장 자료형 (Built-in Data Type),
     시스템 정의 자료형 (System-defined data Type)
     - 시스템/컴파일러/인터프리터 등이 직접 제공하고, 바로 해석할 수 있는 데이터형 
        . 저장 비트 크기 : 프로그래밍언어 종류,컴파일러,운영체제에 따라 달라질 수 있음
     - 例) 수치형(정수형 int,실수형 float),논리값형 bool,문자형 char 등 단순한 구조의 자료형

  ㅇ 유도 자료형,파생 자료형 (Derived Data Type) => (때론, 사용자 정의 자료형 이라고도 함)
     - (사용자 정의 자료형 : User-Defined Type) 
     - 기본 자료형이나 다른 데이터형으로부터 또는 프로그래머에 의해 유도되어 구조화된 자료형
     - 例) 문자열,배열,포인터,구조체,공용체,열거형,레코드,리스트 등

  ㅇ 참조 자료형 (Reference Data Type)  => (주로, 객체지향 언어에서 도입됨)
     - 변수 선언메모리 생성이 분리되는 데이터형
        . 따라서, 해당 변수 내용이 있는 메모리에 대한 참조(주소 지정)가 이루어짐
        . 이들을 조작할 때는, 사실상 해당 데이터 자체를 직접 조작하는 것이 아니라,
        . 그에 대한 참조를 통해 조작하는 것임
     - 例) `배열 참조형, 열거 참조형, 클래스 참조형, 인터페이스 참조형` 등이 있음

  ※ 한편, 기본 자료형은, 프로그래머가 표현 방식의 변경을 할 수 없으나,
     - 많은 현대 프로그래밍 언어는, 프로그래머가 `새로운 자료형을 정의`하고,
     - `마치 기본 자료형 처럼 동작`케 하는 메커니즘을 제공      ☞ ADT (추상자료형) 참조
        . 복잡한 데이터 구조의 구현을 추상화 함으로써,
        . 프로그래머는 데이터 구조의 내부 구현에 신경 쓰지 않고도,
        . 높은 수준의 추상화연산을 사용할 수 있으며, 
        . 코드유지보수성과 재사용성을 높일 수 있음


4. 자료형의 구분 (2)  :  (저장 형태 관점)공간 기반의 연속 방식 (contiguous)
     - 크기를 지정하고, 해당 크기 만큼 연속된 메모리 공간을 할당 받고, 사용함
     - 例) 배열

  ㅇ 포인터 기반의 연결 방식 (link)
     - 메모리 여기저기에 흩뿌려진 데이터들을, 구조체로 묶어서 포인터로 연결시켜, 사용함
     - 例) 연결 리스트


5. 자료형의 선언, 변환

  ※ ☞ 형 선언, 형 변환 참조
     - 형 선언 :  변수를 어떤 데이터형으로 사용할 지를 미리 선언하는 것
     - 형 변환 :  이미 선언/지정된 자료형을 다른 자료형으로 해석/변경하는 것


6. 자료형의 프로그래밍 언어별 형태기본 자료형 구분 例)
     - C 언어 : char, int, float, double 등               ☞ C 자료형 참조
     - C++ 언어 : char, int, float, double, bool 등       ☞ C++ 자료형 참조
     - Java 언어 : byte, short, int, long, float, double, boolean, char 등  ☞ 자바 자료형 참조
     - 파이썬 : int, float, complex, bool 등              ☞ 파이썬 자료형 참조
     - 자바스크립트자바스크립트 타입, 자바스크립트 타입 구분 참조

  ㅇ 타입 구분 例)
     - 강 타입(Strong-Typed) 언어 : C 언어, C++ 언어, Java 언어 등
        . 모든 변수는 자료형을 갖으며, 한번 정해지면 바뀌지 않음 
     - 약 타입(Weak-Typed) 언어 : 자바스크립트, 파이썬

[자료형/데이터형 ↓]1. 자료형   2. 형변환   3. 레코드  

  1. Top (분류 펼침)      :     1,591개 분류    6,513건 해설

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]       편집·운영 (차재복)          편집 후원          편집 이력