개발을 간바루Joy 하게

#2 자료형이란? 본문

프로그래밍/자료구조, 알고리즘

#2 자료형이란?

New! Game 2020. 2. 3. 19:15

자료형(data type)이란, 데이터의 집합과 연산의 집합을 의미한다.

종류로는 크게 두 가지로 나뉜다.

 

1. 기본 데이터 타입: 프로그램 내에서 기본적으로 제공하는 자료형으로, 정수형, 실수형, 문자형, 문자열 등이 있다.

 

2. 추상 데이터 타입(ADT: Abstract Data Type): 데이터 타입을 추상적(수학적)으로 정의한 것으로, 데이터나 연산이

무엇(what)인지는 정의되지만 데이터나 연산을 어떻게(how) 컴퓨터 상에서 구현할 것인지는 정의되지 않는다.

우리가 알아볼 스택(stack), 큐(queue), 트리(tree) 등은 우리가 직접 만들어서 사용하는 추상 데이터 타입의 예시이다.

 

사용자 입장에서는 ADT가 어떻게 구현되었는지 알 필요도 없다. 또한 캡슐화를 통해 정보 은닉을 했으므로, 알려주지도 않는다. 즉, 사용자는 사용 방법만 알면 된다. 하지만, 구현자 입장에선 이것을 어떻게 구현한 것인지에 대해 알아야 한다.

 

이해하기 쉽게 자판기로 비유해보면, 우리는 자판기에 돈을 넣고 원하는 음료가 있는 버튼을 눌러서 사용한다.

자판기 안에서 무슨 일이 있는가는 우리는 알 필요도 없고, 그 상태에서 알 방법도 없다.

하지만 이 자판기를 유지, 보수하는 사람 입장에서는 자판기 안에 대해 알 필요성이 있다.

ADT도 그와 같은 이치이다.

 

이제 데이터 타입이 되기 위해 만족해야 할 조건에 대해 알아보자.

데이터 타입을 쉽게 공부하기 위해 다음 세 가지를 반드시 기억할 필요성이 있다.

 

I. "이름"이 무엇인가?

II. 어떤 "값"을 갖는가?

III. 어떤 "연산"을 할 수 있는가?

 

(예시)

I. 이름: int

ll. 값: 정수값을 갖는다.

III. 연산: {+ , - , * , / , %}