Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

채널오렌지 THE I.O.T

[CS] 아키텍처와 API가 무엇인가요? 본문

Computer Science

[CS] 아키텍처와 API가 무엇인가요?

채널오렌지 2022. 5. 24. 01:55

무언가 컴퓨터 관련돼서 학습할 때 지겹도록 나오는 단어인데 정작 저 둘을 설명하라고 하면 모르겠다. 개념이 추상화된 느낌.. 그래서 알아보았다.

 

API
Application Programming Interface

API란 단어를 분해해보면 Application은 응용 프로그램이란 뜻이다. 한국에서 애플리케이션을 아이폰의 성공으로 모바일 전용 소프트웨어라고 흔히 부르지만 실제론 컴퓨터와 스마트폰의 프로그램 둘다 같은 애플리케이션이다. 그리고 프로그램은 운영체제인 시스템 프로그램과 시스템 프로그램을 이용하여 새로 만들고 응용한 프로그램인 응용 프로그램(애플리케이션)으로 나뉘고 있다. 그리고 Interface는 컴퓨터 시스템끼리 정보를 교환하는 공유 경계를 말한다.

즉, API는 응용 프로그램에서 데이터를 주고받는 방법으로 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스다.

요즘엔 금융, 소셜, 전자 상거래, 등 기타 여러 업종을 위한 수백 개의 API가 있다고 한다. 나도 카카오와 구글 API를 살짝 건드려 봤다. 저 둘과 연동하며 카카오 맵과 구글 맵을 안드로이드에 띄우는 것을 목표로 약간 고생한 적이 있다. 그때 API 인증키를 받았었는데 그게 무엇인가 하니 데이터베이스를 읽을 수 있도록 허가한 사람에게만 알려주는 인증 키라고 할 수 있다.

 

 

Architecture
아키텍처의 영단어 의미는 건축학이다.

위키문서의 정의에 의하면 시스템 구성과 동작원리, 설계 및 구현을 지원과 시스템 최적화가 목표라 한다. 즉, 아키텍처는 더 나은 최적화를 목표로 정해 시스템의 원리와 구성환경을 설계하는 설계도이며 일반적으로 서비스의 설계를 말한다. 그리고 개발자들은 이를 각 플랫폼에 맞게 설계한다.

특히, 소프트웨어 아키텍처란 말을 많이 사용하는데 이 아키텍처를 만드는 과정을 보면 더 이해하기 쉽다. 소프트웨어 아키텍처는 전체적인 시스템의 개발 방향을 정하는데 어떤 시스템의 타입을 정할지 (대화형 시스템, 이벤트 중심 시스템) 어떤 아키텍처 패턴<표준 아키텍처와 아키텍처 스타일이라고도 부름>을 정할지 (레이어 패턴, 클라이언트-서버 패턴, 마스터-슬레이브 패턴)를 설계하는 것이다.

Comments