외부 함수 인터페이스

외부 함수 인터페이스(Foreign function interface, FFI)는 한 프로그래밍 언어로 작성된 프로그램이 다른 언어로 작성된 서비스를 이용할 수 있거나 그에 따른 함수를 호출할 수 있는 구조이다. 이 용어는 커먼 리스프의 사양에서 비롯되었고, 언어 간 호출이라는 언어 기능으로 명백히 가리키고 있다.

또, 이 용어는 하스켈, 파이썬 프로그래밍 언어에 의해 공식 사용된다. 그 밖의 다른 언어는 다른 용어를 사용한다. 에이다는 언어 바인딩에 대해서 논하며, 자바는 FFI를 자바 네이티브 인터페이스(JNI)나 자바 네이티브 액세스(JNA)로 부른다. 외부 함수 인터페이스는 이러한 서비스를 제공하는 구조를 설명하는 용어로 일반화되고 있다.

대부분의 경우 FFI는 고급 프로그래밍 언어로 정의되는데 C와 C++와 같이 이보다 더 저급의 프로그래밍 언어에서 구현, 정의된 서비스를 이용할 수 있다. 수많은 FFI들은 호출된 언어가 호스트 언어의 서비스도 호출할 수 있는 수단을 제공한다.

각주

외부 링크 
  c2.com: Foreign function interface

API
함수 (프로그래밍)