본문 바로가기
IT 정보

프로그래밍 할 때 알아두면 좋은 개념

by AIIA 2023. 5. 21.

포스팅 목차

    프로그래밍을 배울 때 등장하는 여러 가지 개념적 용어들이 있습니다. 함수나 상수, 변수, 클래스, 라이브러리, 프레임 워크, API, SDK 등 입문하시는 분들에게는 생소한 용어들일 것입니다. 프로그래머들에게는 이러한 용어들이 당연하게 여겨지겠지만 초보자들에게는 프로그래밍 언어가 더 어렵게 느껴질 수밖에 없습니다. 그래서 오늘은 흔히 나오는 개념 몇 가지를 간단하게 살펴보도록 하겠습니다.

    two notebook

    변수와 함수

    프로그래밍 언어든 처음 배울 때는 변수나 함수, 상수라는 개념이 등장합니다. 변수는 값을 넣는 그릇이라고 보면 됩니다. 프로그래밍을 할 때 계속 변하는 것이 있다면 그건 변수라는 그릇에 받아주게 됩니다. 예를 들어서 학교의 반 학생들의 성적을 평균 내는 프로그램을 만든다고 해보겠습니다. 학생들의 성적은 그때마다 다른 값이 들어가게 됩니다. 그러면 그 성적이 변수인 것입니다.

     

    함수는 프로그램에서 제공하는 변수를 사용해서 계산을 수행하고 어떠한 결과를 만들어낸다는 뜻입니다. 함수는 프로그래머가 원하는 기능을 위해서 필요합니다. 만약에 텍스트를 읽어주는 로봇을 만든다고 한다면 책에 쓰여 있는 텍스트 정보를 인식하는 자연어 처리 기능을 할 수 있는 함수를 만들어야 합니다. 함수는 들어온 입력값을 받아서 명령받은 처리를 한 다음 결과 값을 돌려주기에 입력값과 결괏값이라는 개념도 있습니다. 입력값은 인수와 같은 말이고 결괏값은 출력값이나 리턴값 등으로도 쓰이고 있습니다.

    라이브러리의 개념

    라이브러리는 단어 그대로 도서관을 생각하면 됩니다. 도서관에는 수많은 책이 있고 그중에서 우리가 필요로 하는 책만 찾아볼 수 있습니다. 프로그래밍 언어의 라이브러리도 똑같이 생각하면 됩니다. 함수들을 모아놓은 것입니다. 모든 라이브러리를 알 수도 없고 그렇게 할 필요성도 없지만 내가 지금 필요한 기능을 하는 라이브러리를 찾아서 사용을 할 수만 있다면 그것만으로도 아주 좋을 것입니다.

     

    그러면 어떤 라이브러리가 있는 어떻게 쓰는지를 알아야 합니다. 예를 들어 파이썬에 Numpy라는 라이브러리가 있습니다. 이는 계산과 통계, 행렬 등 금융 분석이나 회계, 데이터 분석에 사용하기 편한 라이브러리입니다. 이에 대한 개념은 오래전 C 언어나 C++ 언어에서 많이 활용되었습니다. 오류 처리나 탐색, 정렬, 스트림 입출력, 난수 등을 활용할 때 필수적으로 알고 있어야 합니다. 보통 프로그래밍 언어는 기본적으로 유용한 기능을 내장함수로 포함을 하고 있습니다. 하지만 특이한 사용환경에 필요한 기능을 해결할 수 있는 C, C++ 라이브러리가 개발되었고 널리 활용되었습니다. 

    Application Programming Interface

    notebook

    API는 특정 함수와 클래스가 동작하는 방식을 담아서 프로그래머가 편리하게 사용할 수 있도록 공개한 것을 말합니다. 애플리케이션 프로그램을 제작할 때 필요한 기능들입니다. 사용자는 개자발에게 이러한 기능이 필요하면 이렇게 만들어 둔 것이 있으니 가져다 쓰라고 알려주는 설명서라고 할 수 있겠습니다.

     

    만약에 한 프로그래머가 지도를 사용하여 위치기반의 서비스를 만들려고 한다면 그때마다 구글 지도 같은 지도를 만들 수는 없을 것입니다. 그래서 구글 등에서는 지도를 편리하게 가져다 사용할 수 있도록 API로 만들어 공개를 하는 것입니다. API는 함수의 모음인 라이브러리 보다 더 확장되어 필요한 기능을 설명하는 문서도 제공되고 있습니다. 외부로 노출 혹은 내부에서 동작하는 두 가지 개념을 포함하고 있지만 API는 외부로 노출되는 인터페이스 형태입니다. 지도나 캘린더가 들어가 있는 모바일 앱을 생각해 보겠습니다. 그런 것들을 개발자가 하나하나 개발한 것이 아니라 API를 활용한 것입니다. 어떤 API든 구글에서 키워드로 검색을 해보면 소스코드를 찾을 수가 있습니다. 프로그래밍 언어뿐만 아니라 게임 개발 툴에서도 활용할 수 있는 것들이 많습니다.