데이터 타입, 데이터 구조 및 추상 데이터 타입의 차이
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
데이터 분석
대상자
- 프로그래밍 초보자, 소프트웨어 개발자, 컴퓨터 과학 학생
- 난이도: 기초 개념 설명 중심, 전문 지식 필요 없음
핵심 요약
- 데이터 타입 🧱: 변수가 저장할 수 있는 데이터의 종류를 정의 (예:
int
,float
,char
) - 데이터 구조 📦: 데이터의 저장 방식과 효율적인 접근/조작을 위한 구조 (예: 배열, 연결 리스트, 트리)
- 추상 데이터 타입(ADT) 🛠️: 데이터에 대한 연산의 행동을 정의하고 구현 방식은 숨기는 설계 (예: 스택의
push()
,pop()
)
섹션별 세부 요약
1. 데이터 타입 – "데이터의 종류는?"
- 변수에 할당할 수 있는 데이터의 범위를 명시 (예:
int
는 정수,char
는 단일 문자) - 프로그래밍의 가장 기본 단위로, 메모리 할당 방식을 결정
- 예시:
float
은 소수점 수,bool
은 참/거짓을 저장
2. 데이터 구조 – "데이터는 어떻게 저장되나?"
- 데이터를 메모리에 효율적으로 저장하고 조작하는 방식을 정의
- 배열, 연결 리스트, 트리 등이 데이터를 구조화하는 컨테이너 역할
- 예: 배열은 연속된 메모리 영역, 연결 리스트는 노드로 구성된 링크
3. 추상 데이터 타입(ADT) – "어떤 연산이 가능한가?"
- 데이터에 대한 연산의 행동을 명세하고 구현은 숨기는 설계 원칙
- 스택, 큐 등은 ADT의 예: 스택은
push()
/pop()
연산을 정의 - 개발자는 구현 방식을 알 필요 없이 인터페이스만 사용 가능
결론
- 데이터 타입은 데이터의 종류, 데이터 구조는 저장 방식, ADT는 연산의 추상화를 각각 정의함
- 프로그래밍의 핵심 개념으로, 데이터 모델링과 알고리즘 설계에 직접적으로 영향을 미침
- 실제 구현 시 ADT의 인터페이스를 기반으로 구체적인 데이터 구조를 선택해야 함