현실 세계에서 관찰이나 측정을 통해서 수집된 값(value)이나 사실(fact)로 이는 숫자, 문자, 이미지, 음성 등과 같은 다양한 형태로 존재할 수 있다.
어떤 상황에 대해서 적절한 의사결정(decision)을 할 수 있게 하는 지식(knowledge)으로 활용될 수 있도록 ‘처리 과정’을 거쳐서 정리되고 정돈된 ‘자료’의 2차 처리 결과물이다.
자료(Data) → 컴퓨터 처리(Process) → 정보(Information)
I = P(D)
즉, 프로세스에 자료를 대입하여 처리를 한 결과물이 정보이다.
자료 사이의 논리적 관계를 컴퓨터나 프로그램에 적용하기 위해서는 *자료의 추상화가 필요하며 추상화를 통해 자료의 논리적 관계를 구조화한 것을 자료구조(data structure)라고 한다.
추상화 : 공통적인 개념을 이용하여 같은 종류의 다양한 객체를 정의한 것.
자료의 추상화 : 다양한 대상을 컴퓨터에 저장하고 처리하기 위해 대상들의 공통 특징만을 뽑아 정의한 것.

컴퓨터에 의해 수행되기 위해 필요한 명령어들의 유한 집합이 사람의 머릿속에 추상화되어 존재하는 것.
알고리즘이 가지고 있어야 하는 조건은 ① 출력, ② 유효성, ③ 입력, ④ 명확성, ⑤ 유한성 등이 있다.
자료구조 : 입력 자료에 대한 추상화된 상태
알고리즘 : 컴퓨터가 수행해야 할 명령의 추상화
즉, 자료구조로 구조화하고 알고리즘으로 체계화한다.
이러한 자료구조와 알고리즘을 구체화하는 수단 중 하나가 프로그래밍 언어이다.