CAFE

API의 정의와 내용

작성자까페지기|작성시간05.12.26|조회수130 목록 댓글 0

API의 상세 내용

 

소프트웨어 애플리케이션을 개발하기 위한 여러 가지 함수의 집합.

운영체제나 C, C++, Pascal 등과 같은 언어로 응용 프로그램을 만들 때, 윈도우를 만들고 파일을 여는 것과 같은 처리를 할 수 있도록 1000여 개 이상의 함수로 구성되어 있다. API는 프로그래머를 위한 운영체제나 프로그램의 인터페이스로서 사용자와 직접 대하게 되는 그래픽 사용자 인터페이스나 명령형 인터페이스와 뚜렷한 차이가 있다.

API는 응용 프로그램이 운영체제나 데이터베이스 관리 시스템과 같은 시스템 프로그램과 통신할 때 사용되는 언어나 메시지 형식을 가지며, API는 프로그램 내에서 실행을 위해 특정 서브루틴에 연결을 제공하는 함수를 호출하는 것으로 구현된다. 그러므로 하나의 API는 함수의 호출에 의해 요청되는 작업을 수행하기 위해 이미 존재하거나 또는 연결되어야 하는 몇 개의 프로그램 모듈이나 루틴을 가진다.

좋은 API는 모든 building block을 제공함으로써 프로그램 개발을 쉽게 해준다. 프로그래머는 그 block을 함께 합치기만 하면 된다. API가 프로그래머를 위해서 만들어지기는 했지만, 사용자 입장에서도 같은 API를 사용한 프로그램은 비슷한 인터페이스를 가지기 때문에 새로운 프로그램의 사용법을 배우기가 쉬워진다.
 
 
API란 Application Programming Interface의 약자이며 우리말로 풀어본다면 운영체제가 응용 프로그램을 위해 제공하는 함수의 집합이라고 정의할 수 있다.

운영 체제는 하드웨어와 응용 프로그램 사이에 위치하며 응용 프로그램을 대신하여 하드웨어를 관리하고 메모리를 관리하는 시스템 소프트웨어이다. 특정 운영체제에서 실행되는 응용 프로그램은 운영체제에 종속적일 수밖에 없으며 운영체제가 규정한 바대로 하드웨어를 액세스해야 한다. 또한 윈도우즈와 같은 멀티 태스킹 운영체제의 경우 응용 프로그램간 상호작용을 할 때도 운영체제의 규정을 따라야만 한다.

그러나 현실적으로 응용 프로그램 개발자들이 이러한 운용체제의 내부 동작까지 속속들이 이해하고 있을 수는 없다. 그래서 운영체제는 가장 기본적인 동작을 할 수 있는 함수의 집합을 응용 프로그램에게 제공할 의무를 지며 응용 프로그램 개발자들은 운영체제가 제공하는 함수들을 사용할 권리와 의무를 가진다. 도스 프로그램을 해 본 경험이 있는 사람들이라면 INT 13, INT 21 등의 시스템 평션콜을 한번쯤 사용해 본 적이 있을 것이다. 도스에서 실행되는 모든 프로그램은 도스가 제공하는 이러한 시스템 펑션 콜을 호출하여 파일이나 디스크, 프린터를 표준적인 방법으로 쉽게 제어할 수 있다. 만약 도스가 시스템 펑션 콜을 제공하지 않는다면 도스 프로그래머들은 도스의 파일 시스템, 하드웨어 입출력 장치, 메모리 관리까지 직접 손수 해야하는 부담을 지게 될 것이다.

윈도우즈도 마찬가지로 응용 프로그램을 위한 함수 집합을 제공하는데 이를 API라고 하며 좀 더 정확하게 표현하자면 윈도우즈 API라고 한다. API는 특정 시스템(운영체제든 하드웨어든)을 위한 함수 집합을 이르는 일반명사이며 그 중의 하나가 윈도우즈 API이나 요즘은 일반적으로 API라고 하면 윈도우즈 API를 말하는 경우가 많다. API는 운영체제의 중요한 한 부분이며 운영체제 그 자체라고도 할 수 있다.

API도 윈도우즈 버전에 따라 여러가지 종류가 있다. 16비트 운영체제인 윈도우즈 3.1에서 제공하는 API를 Win16 API라고 하는데 이름 그대로 16비트 윈도우즈를 위한 API이다. Win32 API란 본격적인 32비트 운영체제인 윈도우즈 95/98과 NT에서 제공하는 32비트 윈도우즈를 위한 API이다. Win16에 비해 Win32가 양적으로나 질적으로 더 확장되었음은 더 말할 나위도 없다. Win16과 Win32 사이에 Win32s, Win32c 등의 임시적인 API가 있었으나 지금은 사용하지 않으므로 관심을 둘 필요가 없다. Win32 API도 윈도우즈 버전에 따라 조금씩 다르다. 즉 윈95보다는 윈98의 API가 조금 더 확장되었을 것이며 현재 완벽한 Win32 API는 NT 5.0이 제공하는 것이라 할 수 있다. 만약 미래에 64비트 윈도우즈가 발표되면 그때는 Win64 API라는 용어가 사용될 것이다.

API와 비슷한 말로 SDK라는 표현이 사용되기도 한다. SDK는 원래 API를 사용하여 프로그램을 개발하는 개발 툴 킷이었으나 지금은 의미가 전용되어 API와 거의 같은 뜻으로 쓰인다. 즉 API 함수는 곧 SDK 함수와 같은 뜻이며 이 프로그램은 SDK로 만들었습니다라고 하는 것은 순수한 API만을 사용하여 만든 프로그램이라는 뜻이다
다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼