[객체지향 프로그래밍] 02. 프로그래밍 언어가 실행되는 과정

프로그래밍 언어가 실행되는 과정을 간단히 정리해 본다.

인터프리터와 컴파일러

두 가지모두 고급언어(JAVA, C, C++, Python…)를 기계가 이해할 수 있는 언어로 변경하는 일을한다.

차이점은 컴파일러는 코드 전체에대해 한번에 실행하고 인터프리터는 한 줄씩 실행한다는 특징이 있다. 그렇기 때문에 실행이 시작되는 속도는 인터프리터가 빠르지만 전체 실행속도는 컴파일러가 더 빠르다.

Python 코드가 실행되는 과정

  1. Cython

    python 코드를 바이트 코드로 변환한다.

  2. 인터프리터

    변환된 코드를 실행단위마다 인터프리터에 의해 실행된다.

JAVA 코드가 실행되는 과정

  1. .java → .class

    우리가 .java에 구현한 코드는 컴파일러에 의해 .class의 바이트 코드로 변환된다.

  2. JVM

    이때 이 코드가 실행되는 os에 맞게 변환되어야하는데 JVM이 그 역할을한다. 그 외에도 메모리를 할당하고, garbage collection을 사용하여 메모리를 관리한다.


© 2020. All rights reserved.