2014년 10월 21일 화요일

추상 데이터 형(ADT)

출처: Code Complete2 6.1절 요약

효율적인 프로그래머가 되기 위한 핵심 요소는 다른 코드를 작업하는 동안 무시해도 좋은 프로그램의 부분을 최대화하는 것이다
  1. ADT는 데이터와 연산의 집합이다. 그러나 "데이터"는 느슨하게 사용된다
  2. ADT를 먼저 생각하고 클래스를 두 번째로 생각하는 것은 언어로의 프로그래밍과 언어에서의 프로그래밍의 한 예이다
  3. 저수준 구현 도메인보다 문제 도메인에서 작업할 수 있는 힘을 사용하도록 하라!

ADT 예

  1. 선박제어
    1. 속력을 설정한다
    2. 현재 설정을 얻는다
    3. 이전 속력으로 달린다
    4. 사용을 중지한다
  2. 전구
    1. 켠다
    2. 끈다

ADT 혜택

  1. 세부적인 구현 사항을 감출 수 있다
  2. 변경이 전체 프로그램에 영향을 미치지 않는다
  3. 인터페이스가 보다 많은 정보를 제공하도록 만들 수 있다
  4. 성능을 향상시키기가 쉽다
  5. 외관상으로 프로그램이 정확하다는 것을 더 잘 알 수 있다
  6. 프로그램이 보다 더 스스로를 설명하게 된다
  7. 프로그램에 모든 데이터를 넘길 필요가 없다
  8. 저수준 구현 구조체 대신 실세계의 개체들을 다룰 수 있다

ADT 사용지침

  1. 전형적인 저수준 데이터 형을 ADT로  만들어라
  2. 파일과 같은 일반적인 객체들을 ADT로 취급하라
  3. 간단한 항목이라도 ADT로 취급하라

ADT와 클래스

  • 클래스에 대해서 생각하는 한 가지 방법은 ADT에 상속과 다형성을 더한 것으로 생각하는 것이다

댓글 없음:

댓글 쓰기