연재 완료/자료구조 이론

3. 추상 자료형(ADT: Abstract Data Type)

라이피 (Lypi) 2018. 11. 2. 18:51
반응형

추상 자료형

  # 추상 자료형은 '사용자 관점'과 '구현자 관점'에서 생각할 수 있다.

  # '사용자 관점'에서의 추상 자료형은 '구체적인 기능의 완성과정은 언급하지 않고, 순수하게 어떤 기능이 있는지만 나열한 것'이다.

  # '구현자 관점'에서의 추상 자료형은 '작업을 수행하기 위한 구체적인 방법과 그 방법을 적용하기 위한 데이터 집합'을 의미한다.

  # 사용자 관점에서 추상 자료형을 설계할 때는 '일반적인 경우의 작업만 설계한다'는 '일반성(Generality)'의 원칙을 지켜서, '범용성(General Usability)'을 높여야 한다.

  # 구현자 관점에서 추상 자료형을 구현할 때는 기능이 사용자가 생각한대로 작동할 수 있도록 하는데에 초점을 맞추면 된다.

  # 이 때, 사용자는 구현자가 내부적으로 어떤식으로 구현했는지는 몰라도 사용하는데 지장이 없어야 한다는 것이 중요하다.

  # 이렇듯 '추상 자료형'의 개념은 C++의 '클래스'의 개념과 거의 차이가 없다.


반응형