티스토리 뷰

C,C++

추상 자료형(ADT)란 무엇인가?

Andrew Shin 2016. 3. 9. 15:13

추상 자료형(ADT)는 무엇인가?


자료구조를 이해하기 위해서는 추상 자료형(ADT)에 대해 먼저 숙지하는 것이 중요하다. 그렇다면 알아보자 추상 자료형이란 무엇인가.

우선 추상 자료형이라는 단어만 봤을때 느낌은 "추상화 된 자료형" 정도인데, "추상화" 라는 말이 조금 어렵다. 이에 대해서 정리해 보도록 하자.


C++ 에서의 클래스를 생각하면 쉽다. 예를들어 우리가 일상에서 흔히 쓰는 티비를 클래스로 가진다고 생각해보자. 클래스의 이름은 Tv가 될 것이다.

이때 사용하는 기능은 전원 켜기, 전원 끄기, 채널변경, 볼륨변경 이렇게 4가지 기능이 있다고 생각해 보면 이를 인터페이스 함수로 만들 수 있다.


1
2
3
4
5
6
7
8
9
10
class Tv
{
    private:
        //생략
    public:
        PowerOn(); //파워 온
        PowerOff(); // 파워 오프
        ChChange(); // 채널 변경
        VoChange(); // 볼륨 변경
};
cs


대략적으로 이런 느낌으로 설계 할 수 있을 것이다. 이렇게 각 기능별로 선언, 정의를 해두면 Tv라는 클래스에 대한 사전 지식이 없는 사람이라도 (협업을 하거나, 대학생의 경우 교수님의 과제 채점과 같은 상황) 손쉽게 설계해둔 Tv 클래스의 기능을 사용할 수 있을 것이다. PowerOn 함수를 실행하면 그 안에서 데이터가 어떻게 움직이는지, 어떤 라이브러리를 사용하는지 파악하지 않아도 손쉽게 전원을 킬 수 있다. 기능이 무엇인지 나열하고, 필요한 정보를 포함하여 구성하는 것. 이것이 함수의 추상화이다.


이러한 이유로 우리는 추상 자료형을 사용하는 것이고, 이에 따라 프로그램의 가독성이나 효율 증가를 기대할 수 있다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함