자료구조란?
자료구조를 공부하는 것은 알고리즘을 해결하는데 뿐만 아니라, 라이브러리나 프레임워크를 사용할 때 단순히 가져다 쓰지 않고, 내부적으로 어떻게 구현되있는지에 대한 이해도가 향상되므로 라이브러리에 있는 적절한 자료형을 사용할 수 있다.
OOP와 자료구조
자료구조란 위키백과의 정의에 따르면 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법
이다.
즉, 어떠한 알고리즘을 구현하는데 있어 그에 맞는 자료구조를 설계하여 사용해야 시간적으로 혹은 공간적으로 자원을 최소화 할 수 있다.
사실, 위의 말은 이제 프로그래밍을 시작하고 자료구조라는 단어를 처음 듣는 사람들에게는 잘 와닿지 않는다.
조금 더 구체적으로 말하자면, 모든 프로그래밍 언어들에는 int, char, boolean
등의 가장 기본적인(primitive) 자료형이 존재한다.
그러나 primitive 자료형으로만 코딩을 했을 때, 재사용성이 떨어지고 제한적이다.
그렇기 때문에 주로 사용자 자료형, 다시 말해 추상 자료형(Abstract Data Type, ADT)를 정의하여 사용하는 것이 바람직하며, ADT가 곧 자료구조라고 할 수 있다.