
1. 자료와 정보 사이의 관계
자료의 정의
- 현실세계에 존재하는 관찰이나 측정을 통해 수집된 값이나 사실
- 우리의 생활에서 실제로 만질 수 있거나 볼 수 있거나 하는 것에 대해서 물리적인 단위로 표현하여 얻어낼 수 있는 내용
- 자료는 원시시대부터 있었다.
- 현실세계에서 관찰해 얻은 자료를 기록, 분석, 처리하게 되면서 정보를 만들어냈다.
정보의 정의
- 어떤 상황에 대해서 적절한 의사결정을 할 수 있게 하는 지식으로서 자료의 유효한 해설이나 자료 상호 간의 관계를 표현하는 내용
- 어떠한 상황에 적절한 결정이나 판단에 사용될 수 있는 형태로 가공되거나 분류되기 위해 '처리 과정'을 거쳐서 정리되고 정돈된 '자료'의 2차 처리 결과물
- 목적에 따라 자료를 가공해서 정보로 만든다.
- 적절한 의사결정을 할 수 있도록 지식을 만들어내는 것이다.
- 자료를 처리해서 결과값을 내놓는 것이 정보이고, 이 정보를 결정이나 판단에 사용한다.
자료의 가공 결과(정보)

자료 : Data
정보 : Information
- Data(자료)를 가공한 결과가 Information(정보)
I = P(D)
- I (정보 Information)
D (자료 Data)
p (처리 Process) - 데이터를 입력으로 넣으면 (D)
컴퓨터가 처리해서 (P)
정보로 만들어준다. (I) - 예시) 학생 성적 데이터
철수 100
영희 50
길동 30
-> 산출해낸 정보 : 철수의 시험 성적이 제일 높다
2. 추상화의 개념
추상화

- 정확한 축적과 거리, 정확한 지형지물을 표현하지 않는다.
- 목적지로 가기 위한 경로 정도의 정보만 표현되어 있다.
- 정확한 지도가 표현되지 않았지만 직관적으로 목적지로 향하는 경로를 알 수 있다.
- 모두 다른 모양이지만, 직관적으로 버스라고 판단한다.
- 의미로 무엇인가를 전달할 때 추상화를 사용한다.
- "목적지까지 버스를 이용해서 간다."고 했을 때 말하지 않아도 직관적으로 정류장이 어디인지, 버스비가 얼마일지, 어떤 결제수단을 이용할지를 이해하고 생각할 수 있다.
- 공통적인 개념을 이용하여 같은 종류의 다양한 객체를 정의하는 것
- 추상화를 통해 간결하게 말하는 사람의 의사를 전달할 수 있게 되는 것
- 같은 종류 : 버스
다양한 객체 : 고속버스, 시내버스, 마을버스, 마을버스, 시외버스 ...
cf. 객체 : 현실에 존재하는 것. 현실에 존재하지 않더라도 대상으로 삼을 수 있는 것. - 추상화라는 것은 공통된 특징만 추출해서 모아 놓은 것이며, 하나의 의사전달 잡합으로 결정한다.
- 마을버스, 시외버스, 관광버스 등 다양한 종류의 버스가 있지만 공통점을 가지고 '버스'라는 집합으로 공유한다.
- 여러 종류의 버스들의 공통점
- 여러 사람이 함께 이용한다.
- 비용을 지불하고 이용할 수 있다.
- 정류장이 고정되어 있다.
- 경로가 정해져 있다.
-> 이 공통점을 가진 것을 추출해서 '버스'라는 하나의 종류로 만든다. -> 추상화
- 추상화를 통해 사람의 의사를 간결하게 전달할 수 있다.
자료의 추상화
- 자료의 추상화 : 다양한 객체를 컴퓨터에서 표현하고 활용하기 위해 필요한 자료의 구조에 대해서 공통의 특징만을 뽑아 정의한 것
- 자료의 추상화에는 컴퓨터 내부의 이진수의 표현 방법, 저장 위치 등은 포함되지 않고 단순하게 개발자의 머릿속에 그림을 그리는 것처럼 개념화하는 것
- 컴퓨터에서 자료 혹은 객체는 1과 0으로만 표현되고 저장된다.
- 사용자나 개발자는 텍스트, 이미지, 오디오, 비디오 파일 등으로 자료를 다룰 뿐, 컴퓨터 안에서 1과 0으로 어떻게 저장되는지 생각하지 않는다.
- 객체들이 컴퓨터에서 표현, 활용되기 위해서는 개발자들은 정수, 변수 등의 개념만 알고 있으면 되고, 자료가 컴퓨터로 들어갈 때의 추상화 과정은 컴퓨터가 알아서 처리한다.
- 컴퓨터와 개발자 사이의 의사전달을 위해 공통의 개념을 뽑아내서 추상화를 통해 개발자에게 던져준다.
3. 자료구조의 개념
자료구조
- 추상화를 통해 알고리즘에서 사용할 자료의 논리적 관계를 구조화한 것
- 자료의 추상화와 구조화가 적절히 이루어지지 못하면 소프트웨어는 비효율적으로 수행되거나 소프트웨어의 확장성에 문제가 생길 수 있음
- 알고리즘은 컴퓨터가 해야할 일들을 정리한 것이다.
- 컴퓨터가 일을 하려면 대상이 필요한데, 그 대상이 바로 자료이다.
- 그 자료를 알고리즘에서 바로 사용할 수 있도록 만들어 둔 것이 바로 자료구조이다.
자료구조와 알고리즘의 관계

- 자료구조 : 입력 자료에 대한 추상화
- 알고리즘 : 컴퓨터가 수행해야 할 명령의 추상화
- 컴퓨터가 처리하려면 (P(D))
- 대상이 되는 자료가 있어야 한다. (자료)
-> 자료를 추상화해서 잘 정리해놓은 것 : 자료구조 - 어떻게 처리할 지가 있어야 한다. (처리)
-> 처리과정을 추상화해서 잘 정리해놓은 것 : 알고리즘
- 대상이 되는 자료가 있어야 한다. (자료)
- 알고리즘과 자료구조를 가지고 프로그램을 짜고 컴퓨터가 처리하게 한다.
자료구조와 알고리즘의 추상화/구체화

- 입력값을 머릿속에서 추상화된 형태(자료구조)로 구조화하고,
수행되어야 할 명령어를 머릿속에서 추상화된 형태(알고리즘)로 체계화
- 자료구조를 통해 입력값을 추상화된 형태로 만들어 놓는다.
- 알고리즘을 통해 컴퓨터의 처리과정(프로그램)을 추상화된 형태로 만들어 놓는다.
- 입력값과 프로그램이 컴퓨터에 제공되면 그제서야 컴퓨터가 일을 할 수 있게 된다.
'자료구조' 카테고리의 다른 글
[자료구조]스택(Stack),큐(Queue) 무엇이며 차이점은? (0) | 2022.11.06 |
---|