API의 의미는 정확히 무엇입니까? [닫은]


164

프로그래밍 언어로 API 정의를 검색했지만 여전히 이해하기 어렵습니다.

누구나 간단한 평신도의 용어로 나에게 조언 할 수 있습니까?

  1. API 란 무엇입니까?
  2. 어떻게 사용 되나요?
  3. 언제 어디서 사용됩니까?

7
FOLDOC을 먼저 시도 했습니까? foldoc.org/API 그들의 정의 상당히 "레이맨"인 것 같습니다 .
Ray Toal

@pst 누가 Wikipedia를 확인하지 않았기 때문에 OP가 이미 Wikipedia를 보았을 것입니다. 위키 백과를 확인하기 전에 FOLDOC의 1995 정의를 사용할 가능성에 대한 잘못된 표현. 댓글을 삭제해야합니까?
Ray Toal

평신도 설명을 찾고 있다면 welcometosoftware.com/what-is-an-api (면책 조항 : 작성)
Sam Malayek

답변:


129

검색에는 Wikipedia가 포함되어야하며, 이는 Application Programming Interface 와 같은 여러 프로그래밍 개념 / 용어에 놀라 울 정도로 좋습니다 .

API 란 무엇입니까?

API (application programming interface)는 소프트웨어 프로그램이 서로 통신하기 위해 따를 수 있는 특정 규칙 세트 ( '코드') 및 사양입니다 . 다른 소프트웨어 프로그램 간의 인터페이스 역할을하며 사용자 인터페이스가 사람과 컴퓨터 간의 상호 작용을 용이하게하는 방식과 유사하게 상호 작용을 용이하게합니다.

어떻게 사용 되나요?

모든 규칙 집합이 사용되는 것과 같은 방식입니다.

언제 어디서 사용됩니까?

영역과 API에 따라 다릅니다. 다음을 고려하십시오.

  1. x86 (IA-32) 명령어 세트 (매우 유용 ;-)
  2. BIOS 인터럽트 호출
  3. 종종 C 라이브러리로 노출되는 OpenGL
  4. 핵심 Windows 시스템 호출 : WinAPI
  5. 루비 코어 라이브러리의 클래스와 메소드
  6. 문서 객체 모델 자바 스크립트로 브라우저에 의해 노출
  7. Facebook의 Graph API에서 제공하는 것과 같은 웹 서비스
  8. Java의 JNI 와 같은 프로토콜 구현

행복한 코딩.


4
"놀랍게 좋은"이라고 부르면 +1. 컴퓨팅의 경우 Wikipedia가 최고입니다. 월스트리트 저널에 따르면, "[웨일즈]는 자연이 과학과 관련된 주제를 '역사와 사회 과학 때문에 비교해 봤다'고 기뻐했다. 약한. ' 컴퓨터 과학과 '스타 트렉'의 역사를 포함한 다른 분야에서 그는 Wikipedia가 '더 나은 길'이라고 말했다. ' "' '' '( dailybarometer.com/forum/… )
Ray

2
@ user166390 api의 wikipedia 항목은 이제 꽤 나쁩니다 ... 나는 api를 작성하고 해당 항목은 실제로 혼란 스럽습니다. 당신이 한 일을 인용 한 좋은 점은 어떻게 든 훨씬 더 나 빠졌기 때문입니다.
eric

Ajax 요청의 URL에 넣은 php 파일이 API인지 묻고 싶습니까? 아약스 요청 자체가 이미 API입니까?
Brownman Revival

사물 인터넷에도 API가 사용됩니까? 또는 IoT 장치는 어떻게 데이터를주고 받습니까?
Pathros

57

API는 다른 사람의 코드에 액세스하거나 다른 사람의 코드가 귀하의 코드에 액세스하는 인터페이스입니다. 사실상 공개 방법과 속성.


4
그 마지막 문장은 주목할
만하고

45

1) API 란 무엇입니까?

API는 계약입니다. 특정 방식으로 요청 될 때 설명 된 서비스를 수행하겠다는 약속.

2) 어떻게 사용됩니까?

계약서에 명시된 규칙에 따라. API의 핵심은 API 사용 방법을 정의하는 것입니다.

3) 언제 어디서 사용됩니까?

단독으로는 할 수없는 것을 달성하기 위해 둘 이상의 개별 시스템이 함께 작동해야 할 때 사용됩니다.


44

글쎄, 모든 답변 외에도 예제를 추가하고 있습니다.

다른 사람들이 말했듯 API stands for Application Programming Interfacesoftwares can interact with each other. 인간의 상호 작용이 아닙니다.

그것이 사용되는 곳

예 : 신용 카드를 통해 온라인으로 상품을 구매하고 있습니다. 신용 카드 정보를 제공하고 '계속'버튼을 누릅니다. 정보가 정확한지 아닌지를 알려줍니다. 이러한 결과를 제공하기 위해 백그라운드에는 많은 것들이 있습니다.

응용 프로그램은 신용 카드 세부 정보를 원격 응용 프로그램으로 보내면 원격 응용 프로그램에서 정보를 확인하고 결과를 다시 응용 프로그램으로 보냅니다. 이 시나리오에서는 API가 사용됩니다.

API가 무엇인지 실제로 이해하지 못하는 초보자에게 도움이되기를 바랍니다.

다른 예시

날씨 응용

API없이 -날씨 응용 프로그램은 weather.com 사이트를 열고 사람처럼 세부 정보를 읽어야합니다.

API를 사용하면 날씨 응용 프로그램이 weather.com에 메시지를 보내고 결과를 수신 한 후 표시합니다.

출처 -다양한 온라인 자료


2
Dailyu의 예를 통해 명확하게 설명 Thanku는 나와 같은 더 신선한 사람들에게 도움이 될 것입니다
sai

이 경우 API는 내 요청에 데이터를 보내는 weather.com입니까? 또는 API는 요청을 보내고 데이터를 수신하여 어떤 식 으로든 표시하는 내 앱입니까? 또는 API는 weather.com과 내 앱의 관계입니까?
Paweł

1
@ Paweł API는 데이터를 요청하는 응용 프로그램이됩니다
Gibbs

@ Paweł 다음과 같이 생각하십시오 : 앱에는 두 가지 인터페이스가 있습니다. 먼저, 사용자를위한 UI (인터페이스). 둘째, 다른 응용 프로그램의 API (인터페이스)입니다. 따라서 날씨 응용 프로그램과 weather.com 간의 API는 weather.com입니다.
vpibano

15
  1. API (Application Programming Interface)는 기본 운영 체제 또는 컴퓨터에서 실행중인 다른 프로그램 또는 서비스와 인터페이스하기위한 정의 된 함수 및 메소드 세트입니다.

  2. 일반적으로 소프트웨어의 라이브러리에 대한 참조를 설정하거나 dll에서 함수를 가져 와서 사용합니다.

  3. 프로그램에서 명시 적으로 호출되거나 컴파일러가 암시 적으로 호출하는 거의 모든 소프트웨어에서 한 형태로 사용됩니다.


10

API는 애플리케이션 프로그래밍 인터페이스 (Application Programming Interface)의 약자입니다. 즉, API는 애플리케이션이 특정 시스템 / 애플리케이션 / 라이브러리 등과 상호 작용하는 방법입니다.

예를 들어, OS (WinAPI) 용 API, 다른 응용 프로그램 (예 : 데이터베이스) 및 특정 라이브러리 (예 : 이미지 처리) 용 API 등이 있습니다.

API는 일반적으로 클라이언트 응용 프로그램이 소비 할 수있는 형태로 개발됩니다. C / C ++ 애플리케이션의 경우 헤더 파일과 동적 / 정적 라이브러리를 설정합니다. 자바의 경우-항아리 세트. 등등.


사물 인터넷에도 API가 사용됩니까? IoT 장치는 어떻게 데이터를주고 받습니까?
Pathros

7

서로 상호 작용하는 소프트웨어 구성 요소 집합입니다. 응용 프로그램, 운영 체제 또는 기타 항목을 작성하기위한 함수, 변수 및 객체 클래스 세트를 제공합니다.


6

평신도의 관점에서, 나는 항상 API가 다른 언어를 사용하는 두 사람 사이의 번역기와 같다고 말했습니다. 소프트웨어에서 두 가지 다른 종류의 소프트웨어가 통신 할 수 있도록 API (또는 번역기)를 사용하여 데이터를 소비하거나 배포 할 수 있습니다. 좋은 소프트웨어에는 보안 및 데이터 청결을위한 규칙과 프로토콜을 따르는 강력한 번역기 (API)가 있습니다.

나는 "코더가 아닌 마케팅 담당자입니다.이 모든 것이 옳지 않을 수도 있지만, 지금 제가 약 10 년 동안 표현하려고 시도한 것입니다 ..."


5

API는 특정 OS 또는 다른 소프트웨어 용 소프트웨어를 빌드 할 때 프로그래머가 사용할 수있는 명령, 기능 및 프로토콜 세트입니다. API를 사용하면 프로그래머가 사전 정의 된 함수를 사용하여 운영 체제와 상호 작용하는 대신 처음부터 작성하지 않고 상호 작용할 수 있습니다. Windows, Unix 및 Mac OS와 같은 모든 컴퓨터 운영 체제와 Java와 같은 언어는 프로그래머를위한 응용 프로그램 인터페이스를 제공합니다.

출처


5

이 상황을 conaider :

Mark와 Lisa는 비밀리에 부부이며 나이 차이로 인해 함께 할 수 없습니다. Mark와 Lisa는 매일 밤 아무도보고 있지 않을 때 만나게됩니다. 그들은 때가되었을 때 의사 소통하는 법을 스스로 정해 놓았습니다. 그는 그녀의 정원에 서서 그녀의 창문에 작은 바위를 던졌습니다. Lisa는 시간을 알고 창에서 손을 흔든 다음에 열어 Mark가 들어올 수 있도록 응답합니다. 이것이 API의 작동 방식의 예입니다. 바위는 다른 쪽 끝의 초기 요청입니다. 또 다른 끝이 물결로, 기본적으로 "환영합니다!"라는 의미의 창을 엽니 다.

API는 거의 사람의 언어와 비슷하지만 컴퓨터에는 적합합니다.


3

API는 한 소프트웨어가 소스 레벨에서 다른 소프트웨어와 통신하는 인터페이스를 정의합니다. 한 소프트웨어 조각 (일반적으로 상위 수준 조각)이 다른 소프트웨어 조각 (보통 낮은 수준 조각)에서 호출 할 수있는 표준 인터페이스 세트 (일반적으로 기능)를 제공하여 추상화를 제공합니다.

예를 들어, API는 텍스트를 그리는 데 필요한 모든 것을 제공하는 함수 계열을 통해 화면에 텍스트를 그리는 개념을 추상화 할 수 있습니다. API는 단지 인터페이스를 정의합니다. 실제로 API를 제공하는 소프트웨어를 API 구현이라고합니다.

API를 "계약"이라고 부르는 것이 일반적입니다. API는 양방향 계약이 아니기 때문에 적어도 법적 용어의 의미에서는 올바르지 않습니다. API 사용자 (일반적으로 상위 레벨 소프트웨어)는 API 및 구현에 대한 입력이 전혀 없습니다. API를있는 그대로 사용하거나 전혀 사용하지 않을 수 있습니다.

API의 실제 예는 C 표준에 의해 정의되고 표준 C 라이브러리에 의해 구현되는 인터페이스입니다. 이 API는 메모리 관리 및 문자열 조작 루틴과 같은 기본 및 필수 기능 군을 정의합니다.


0

게임을 개발 중이고 게임 사용자가 게임을하기 전에 자신의 페이스 북 프로필에 로그인하여 (프로필 정보를 얻기 위해) 게임이 페이스 북에 어떻게 접근하길 원한다고하자. 페이스 북은 이미 당신이 할 수있는 프로그램 (API)을 작성했습니다. 페이스 북 -API를 사용하면 당신의 응용 프로그램에서 서비스를 사용할 수 있습니다. API에 대한 자세한 내용은 http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm


3
그리고 당신은 실제로 그것이 무엇 인지 말하지 않았습니다 ... :} 그리고 그것은 프로그램과 같지 않고 인터페이스 일뿐입니다. 일부 프로그램을 다루는 방법.
Kamiccolo

-1

API (응용 프로그램 인터페이스) 는 소프트웨어 응용 프로그램을 작성하기위한 루틴, 프로토콜 및 도구 세트입니다. API는 그래픽 사용자 인터페이스 (GUI) 구성 요소를 프로그래밍 할 때 소프트웨어 구성 요소가 상호 작용하는 방법을 지정하고 API가 사용됩니다. 좋은 API를 사용하면 모든 빌딩 블록을 제공하여 프로그램을 쉽게 개발할 수 있습니다. 그런 다음 프로그래머가 블록을 모 읍니다.

출처 : http://www.webopedia.com/TERM/A/API.html

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.