Interfaces

Representation and Work


같은 인터페이스라도 내부 표현(representation)에 따라 연산마다 읽고 옮기는 작업이 달라진다. 배열로 구현한 리스트에서는 연산의 결과가 배열 칸에 대한 대입문으로 만들어진다.

내부 표현(representation)값과 관계를 저장하는 방식이다.
구현(implementation)내부 표현을 사용해 연산을 실행하는 코드다.
자료구조(data structure)ADT의 연산을 실행할 수 있도록 값을 저장하고 처리하는 구체적인 구현이다.

배열 안의 대입문이 연산의 결과를 만든다

내부 배열 a는 칸 5개이고 빈 칸은 None이다. 대입문이 실행될 때마다 대상 칸이 바뀌고, 외부 상태는 연산이 끝날 때만 바뀐다.

외부 상태 [p, q, r, s]

인터페이스에서 비용까지 질문을 나눈다

위에서 고른 연산을 기준으로, 배열로 리스트를 구현할 때 각 층이 답하는 질문을 적는다.

인터페이스와 명세는 결과를 정하고, 내부 표현과 내부 작업은 그 결과를 만드는 방법을 정한다. 비용은 그 작업이 입력 크기에 따라 얼마나 늘어나는지를 묻는다.