개발자
restAPI로 만든면 java와 python 코드 공유가 가능하다고 해서 물어봅니다

답변 1
인기 답변
안녕하세요! 시간이 많이 지나서 이미 답을 알고 계실 것 같지만 답변 남깁니다. API는 application programming interface의 약자입니다. 단순하게 설명하면 프로그램/앱끼리 서로 어떻게 상호작용할지 정해놓은 정의들과 통신 방식입니다. API는 특정 개발 언어에 국한되지 않고 아무 개발 언어로 구현 가능합니다. 음... 뭐랑 비교하면 와 닿을까요. 오케스트라/밴드를 보신적 있나요? 보통 연주를 시작하기전에 튜닝(음정을 맞추는 것)을 합니다. 그리고 합주자들끼리 튜닝할 때 기준점이 되는 음을 정합니다. 일반적으로 440Hz 주파수를 가지는 "라" 음을 한 악기가 연주하면, 나머지 악기들이 해당 음에 자신의 "라"음을 맞추는 방식입니다. 튜닝을 하는 이유는 하나의 음을 연주했을 때 모든 악기가 최대한 비슷한 음을 내야 곡을 의도한대로 연주할 수 있기 때문인데요. 여기서 `440Hz "라"에 음을 맞추자`라는 정의를 했기 때문에 그 어떤 악기로도 "라"음을 내면 음이 일관되게 들리고 연주 시 음정이 맞고 화음이 맞게된다고 볼 수 있습니다. `440Hz "라"음에 맞추자`가 일반적이지만 오케스트라에 따라서 기준 주파수가 440Hz가 아니라 443Hz, 435Hz 등 여러가지로 변할 수 있는데요. 하지만, 주파수에 상관없이 모든 악기가 `x 주파수가 "라"음이다`로 정의하고 튜닝을 하면 440Hz든 443Hz든 악보를 연주하는데 문제는 없습니다. 이 정의를 정하는 것을 API의 종류를 정하는 거라고 표현할 수 있을 것 같아요. 알고 계신 REST API외에도 SOAP, RPC, Websocket API 등 여러 종류의 API가 있습니다. REST API가 440Hz라면 SOAP은 443Hz, RPC는 435Hz라고 보면되고 어떤 방식을 채택하든 통신하는 앱끼리 같은 방식을 사용한다면 서로 상호작용하는데 문제없습니다. API 통신 방식의 종류는 검색을 통해 찾아보면 금방 나오니 직접 찾는걸 추천드려요. 바이올린, 비올라, 첼로, 오보에, 피아노 등 생긴건 달라도 여러 악기가 "라"음을 맞추기만 한다면 연주할때 의도한 화음이 나오듯이 API도 언어랑 상관없이 어떤 API인지 정하기만 한다면 통신하는데 문제없습니다. 그런 의미에서 "restAPI로 만든면 java와 python 코드 공유가 가능하다"라는 표현은 맞지 않고 정확히는 java로 만든 앱과 python으로 만든 앱이 REST API를 쓴다면 서로 통신할 수 있다로 해석할 수 있습니다. (기타를 트럼펫처럼 불어서 연주할 수 없듯이 언어가 다르면 코드 공유는 어렵습니다) 비유가 적절했는지 모르겠지만 이해를 하는데 도움이 되셨으면 좋겠네요 ㅎㅎ 보통 이런 개념들은 약간의 검색과 Chat GPT를 활용하면 좋은 정보들을 찾을 수 있으니 참고하시길 바랍니다. 개념을 처음 이해하는데 읽을만한 리소스 몇 개 첨부할게요 :) - https://aws.amazon.com/ko/what-is/api/ - https://aws.amazon.com/ko/what-is/restful-api/ - https://cloud.google.com/apis/design?hl=ko (이건 RPC입니다)
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!