Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
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
Tags
more
Archives
Today
Total
관리 메뉴

MOONSUN

[자료구조] 자료형과 자료구조 본문

CS

[자료구조] 자료형과 자료구조

MoonSun_v 2025. 9. 11. 11:35

 

자료구조에 대해 공부하기 전에

자료형과 자료구조의 개념, 그리고 연관성에 대해 간단하게 정리해보고자 한다.  ( C/C++을 기준으로 작성했습니다. )

 

 

1. 자료형 (data type) 

자료형은 데이터를 표현하고 처리하는 방식을 정의한다.

 

  • 기초 자료형 (Primitive / Basic Data Types)
    • 언어 자체에서 기본으로 제공하는 가장 단순한 자료형 
    • char, int, long, float
  • 파생 자료형 (Derived Data Types)
    • 기초 자료형을 기반으로 만들어진 자료형
    • 배열 , 포인터 
  • 사용자 정의 자료형 (User-defined Data Types)
    • 프로그래머가 정의한 자료형
    • 구조체(struct), 공용체(union), 열거형(enum)
  • 추상 자료형 (Abstract Data Type, ADT)
    • 자료형의 논리적 모델을 정의하는 것.
    • 데이터 집합과 그 데이터를 다루는 연산(operations, interface) 만 명세 
    • 구현은 포함 X -> " 무엇을 할 수 있는가"만 정의 
    • 스택(Stack), 큐(Queue), 리스트(List) 
  •  
ADT는 개념, 자료구조는 실제 구현

 

 

 

2. 자료구조 (Data Structure)

자료구조추상 자료형(ADT) 를 실제로 구현한 것. 

  • 추상 자료형에서 정의한 명세를, 실제 메모리에 데이터를 저장하고 연산을 수행할 수 있도록 구현한 방식

예시:

ADT 자료구조 구현 예시
스택(Stack) 배열 기반, 연결 리스트 기반
큐(Queue) 배열, 연결 리스트, Ring Buffer
리스트(List) 배열 기반, 연결 리스트 기반

특징:

  • 같은 ADT라도 구현 방식에 따라 성능(시간, 공간)과 특징이 달라짐
  • 자료구조를 선택할 때는 사용 목적과 성능 요구사항을 고려해야 함

 

 

3. (정리)  자료형 ↔ 자료구조 연관성

 

  • 자료형: 데이터와 연산의 개념적 정의
  • ADT: 자료형의 논리적 모델 (무엇을 할 수 있는가)
  • 자료구조: ADT를 실제 메모리와 연산으로 구현한 것 (어떻게 할 것인가)

즉, 자료형 → ADT → 자료구조 의 흐름을 가진다.