개발자 / 애플리케이션 / 오픈소스

ITWorld 용어풀이 | API

이수경 기자 | ITWorld 2014.11.13
과거의 개발자는 주로 데이터 구조에 대해 고민을 해야 했습니다. 모든 정보를 바이트 블록으로 묶고, 바이트를 하나하나 센 다음 특정 포인터를 기준으로 어떤 값이 정확한 거리에 위치하는지를 확인해야 했죠.

다행히 지금은 모듈, 라이브러리, 플러그인이 넘치는 비옥한 개발 생태계 덕분에 개발자는 조각 코드를 이어 붙이는 일종의 글루(Glue) 코드만 작성해도 되는 시대가 왔습니다. 현대의 개발자가 자신의 힘으로만 프로그램 전체를 개발하는 경우는 거의 없다고 봐도 무방하죠.

앞서 언급한 조각 코드는 좀 더 수월한 개발을 위해 다수의 프로그램이나 애플리케이션에서 필요로 하는 공통 기능과 모듈을 모아둔 것을 의미합니다. 예를 들면 파일 처리 방식이나 창 크기 조절, 문자 제어 등 프로그램마다 똑같은 기능을 매번 구현할 필요 없이, 해당 기능을 수행하는 함수를 모아둔 하나의 파일을 호출하면 되는 것이죠.

조각 코드에 관한 공식 명칭은 바로 API(Application Programming Interface, 애플리케이션 프로그래밍 인터페이스)입니다.

API는 다른 회사에서 제공하는 서비스를 활용할 수 있도록 해줍니다. 예를 들어, 주소와 우편 번호를 위도와 경도로 바꾸고 싶다면, 과거에는 주소, 우편 번호에 매칭되는 위도와 경도에 관한 데이터베이스를 개개인이 따로 구축해야 했습니다.

그러나 주소와 우편번호를 위도와 경도로 환산해주는 함수를 구현한 API를 호출하는 것만으로도 손쉽게 원하는 결과를 얻을 수 있습니다. 여기에서는 데이터 구조나 기법에 대해 고민하지 않아도 된다는 게 큰 장점입니다.

API를 적극적으로 활용하면 자료구축이나 개발에 드는 비용이 거의 없다는 장점이 있습니다. 네이버, 구글, 다음 등이 기업들이 자사가 보유한 다양한 정보와 기술을 API 형태로 공개하는 사례가 크게 늘고 있으며, 이처럼 외부에 공개된 오픈 API를 활용한 새로운 서비스도 등장하기에 이르렀습니다. 검색 API를 이용해 웹사이트 내에 검색 서비스를 제공할 수 있으며, 지도 API를 통해 음식업체들의 위치 정보를 제공할 수 있게 됐습니다.

많은 경우 기업은 자신의 서비스나 언어의 사용을 장려하기 위해 API를 무료로 제공하는데, 기업의 영향력을 강화할 수 있는 아주 좋은 수단이기 때문입니다.

이 때문에 근래 들어서는 API 설계 및 명세 작성에 대한 중요성이 대두하고 있습니다. 다른 사람과 소통할 수 있는 일종의 커뮤니케이션 수단으로, 잘 작성된 표준 방식으로 제공되어야 많은 사용자가 해당 API를 더 많이 사용할 수 있기 때문이죠.

‘좋은 API’는 가능한 많은 빌딩 블록(Building Block)을 제공해 프로그램 개발을 쉽게 해주는 것을 의미합니다. 다른 개발자가 ‘언제나’ 재사용할 수 있어야 하므로 API 명세는 정확하게 작성되어야 합니다. 향후 API에 새로운 클래스 혹은 메소드를 추가하는 것은 어렵지 않지만, 기존의 API를 제거하는 것은 많은 개발사에게 금전적인 피해를 초래할 수도 있는 부분이기 때문입니다. editor@itworld.co.kr
Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.