프로그램을 작성하기 위해 작성한 소스코드가 어떻게 컴퓨터를 동작시키는 명령어로 변환되는지에 대해서 알아보겠습니다.

고급 언어 : 개발자 읽고 쓰기 편하게 만들어진 언어 (EX) JAVA, Python, C++, ...
저급 언어(명령어) : 컴퓨터가 이해하고 실행하기 위해 만들어진 언어
파이썬, 자바와 같이 개발자가 작성한 소스 코드를 컴퓨가 바로 이해할 수는 없습니다. 왜냐하면 우리가 개발할 때 사용하는 언어(C, Python, JAVA, ...)와 같은 언어들은 고급언어라고 합니다. 이런 언어들은 개발자가 읽고 쓰기 편하도록 만들어진 언어 입니다. 즉, 고급 언어로 작성된 코드가 컴퓨터 내부에서 실행될 때는 컴퓨터가 이해할 수 있도록 저급 언어로 변환되어야 합니다.

저급 언어는 기계어와 어셈블리어로 나누어 집니다.

기계어는 0과 1로 표현된 명령어입니다. 컴퓨터는 0과 1밖에 이해하지 못하고, 이런 0과 1로 이루어진 명령어가 기계어 입니다.

하지만 이런 기계어는 0과 1로만 이루어져 있기 때문에 사람들이 읽고 이해하는게 굉장히 어렵습니다. 따라서 이런 기계어를 사람들이 읽고 쓰기 편하도록 번역한 저급 언어가 어셈블리어 입니다.

Python, JAVA, C++와 같이 프로그래머들이 개발을 할때, 즉 프로그램을 만들 때 사용하는 언어가 고급언어 입니다.

고급 언어가 저급 언어로 변환되는 과정에는 크게 두가지의 방식이 있습니다. 하나는 컴파일 방식이 있고 다른 하나는 인터프리터 방식이 있습니다.

컴파일 언어로 작성된 코드는 커파일러를 통해 목적코드(저급 언어)로 변환 됩니다.

컴파일 언어의 작동 방식은 다음과 같습니다. 비유하자면 영어 원서가 있을 때 그 책을 통째로 번역을 부탁해서 <번역판>을 받는 방식 입니다. 따라서 인터프리터 언어 방식에 비해 시간이 걸리게 됩니다.
