화면만을 뜻하지 않는다
검색 창과 버튼은 사람이 프로그램에 의사를 전달하는 접점이다. 한 프로그램이 다른 프로그램의 함수를 부르는 방법이나 컴퓨터가 주변 장치와 신호를 주고받는 규칙도 인터페이스에 해당한다. 어느 두 대상 사이의 경계인지 먼저 구분하면 의미가 명확해진다.
약속에 포함되는 것
소프트웨어의 인터페이스는 연산의 이름과 입력값, 반환값뿐 아니라 오류와 상태 변화에 대한 약속을 포함할 수 있다. 입력 형식만 맞더라도 호출 순서나 권한 같은 전제가 충족되지 않으면 올바르게 사용할 수 없는 경우가 있다.
바깥과 안쪽을 나누기
같은 인터페이스를 유지하면서 내부의 저장 방법이나 처리 알고리즘을 바꿀 수 있다. 이 경계가 안정적이면 사용하는 쪽의 변경 범위를 줄일 수 있다. 다만 성능이나 오류 처리처럼 바깥에서 관측 가능한 성질이 달라지면 영향이 남을 수 있다.
호환성을 판단하기
물리적인 단자 모양이 같다는 사실만으로 모든 기능과 속도가 같지는 않다. 소프트웨어에서도 이름이 같은 연산이 반드시 같은 의미를 갖지는 않는다. 형식과 동작, 버전 및 제약을 함께 확인해야 실제로 연결 가능한지 판단할 수 있다.
관련 문서
API / 추상화 (컴퓨터 과학) / 컴퓨터 하드웨어 / 소프트웨어