물론, int, double, bool이란 것도 데이터이기는 하다. 하지만 Data structure는 일반적으로 생활속의 정보를 추상화하여 표현을 한다면 이해하기 쉽다. 그냥 표현하는 방식이 다양한 것이다.

  • 추상화란 ?
    • 이 용어는 상당힌 컴퓨터 공학에서 많이 나오는 단어일 것이다. 쉽게 말하면 “논리적으로 설계한다는 것이다.” 즉, 논리적으로 목적에 맞게 일단은 설계를 하는 것이다. 자바에서 추상클래스라는 것이 있을 것이다. 이것을 보면 추상이란 단어가 들어가는데 이말은 여러 클래스의 공통적인 기능을 논리적으로 하나로 묶어 설계한 클래스라는 것이다.

표현하는 방식으로는

  • 선형적 : 배열, 리스트, 스택, 큐, 벡터, arrayList

  • 비선형적 : 트리, 그래프, set, map

이 와 같이 다양한 방식으로 표현이 된다.

특히, 위의 배열을 제외한 자료구조는 객체라고 인식하여 설계하면 된다.

이러한 클래스 설계를 abstract data type이라고 생각하면 된다.

즉, 데이터 표현 방식, 기능등을 즉 클래스를 설계한다고 생각해도 무방하다.