효율적인 프로그래머가 되기 위한 핵심 요소는 다른 코드를 작업하는 동안 무시해도 좋은 프로그램의 부분을 최대화하는 것이다
- ADT는 데이터와 연산의 집합이다. 그러나 "데이터"는 느슨하게 사용된다
- ADT를 먼저 생각하고 클래스를 두 번째로 생각하는 것은 언어로의 프로그래밍과 언어에서의 프로그래밍의 한 예이다
- 저수준 구현 도메인보다 문제 도메인에서 작업할 수 있는 힘을 사용하도록 하라!
ADT 예
- 선박제어
- 속력을 설정한다
- 현재 설정을 얻는다
- 이전 속력으로 달린다
- 사용을 중지한다
- 전구
- 켠다
- 끈다
ADT 혜택
- 세부적인 구현 사항을 감출 수 있다
- 변경이 전체 프로그램에 영향을 미치지 않는다
- 인터페이스가 보다 많은 정보를 제공하도록 만들 수 있다
- 성능을 향상시키기가 쉽다
- 외관상으로 프로그램이 정확하다는 것을 더 잘 알 수 있다
- 프로그램이 보다 더 스스로를 설명하게 된다
- 프로그램에 모든 데이터를 넘길 필요가 없다
- 저수준 구현 구조체 대신 실세계의 개체들을 다룰 수 있다
ADT 사용지침
- 전형적인 저수준 데이터 형을 ADT로 만들어라
- 파일과 같은 일반적인 객체들을 ADT로 취급하라
- 간단한 항목이라도 ADT로 취급하라
ADT와 클래스
- 클래스에 대해서 생각하는 한 가지 방법은 ADT에 상속과 다형성을 더한 것으로 생각하는 것이다
댓글 없음:
댓글 쓰기