프로그래밍기능사 CBT
종목 메뉴

개념 한 쪽

프로그래밍기능사 컴파일러 — 언어 번역

컴파일러는 고수준 언어로 작성된 소스 코드를 한 번에 기계어로 번역하여 목적 프로그램을 생성하는 언어 번역 도구라는 점을 이해한다.

2026-10-23 기준 · 프로그래밍기능사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

뜻

언어 번역은 프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 이해하는 기계어로 바꾸는 작업을 뜻한다. 이 작업을 수행하는 프로그램에는 어셈블러, 컴파일러, 인터프리터 등이 포함된다는 점을 구분한다.

어셈블러는 어셈블리 언어를 기계어로 변환하는 도구이고, 컴파일러는 고수준 언어 전체를 한 번에 번역하여 목적 프로그램(실행 파일)을 생성하는 도구라는 점을 명확히 안다. 컴파일러는 전체 소스 코드를 처리한 뒤 기계어를 생성하므로 번역과 실행이 분리되는 특징을 가진다.

인터프리터는 소스 코드를 한 문장씩 번역하면서 즉시 실행하는 방식으로 동작한다. 이 방식은 목적 프로그램을 따로 만들지 않고 실행 시점에 번역과 실행을 병행하는 점에서 컴파일러와 대조된다.

로더(Loader)는 번역 기능을 수행하지 않고 이미 번역된 객체 코드나 실행 파일을 메모리에 적재하여 실행 준비를 하는 역할을 한다. 따라서 로더는 언어 번역 프로그램 범주에 속하지 않는 실행 지원 프로그램으로 분류한다.

시스템 소프트웨어의 기능을 묻는 문제에서는 '번역' 역할과 '적재·실행 준비' 역할을 키워드로 매칭하여 정답을 판별한다.

예제

문제에서 '목적 프로그램을 만들지 않고 한 문장씩 번역하여 실행'이라는 표현이 나오면 인터프리터를 정답으로 고른다. 반대로 '전체 소스를 한 번에 번역하여 실행 파일을 생성'이라는 표현이 나오면 컴파일러를 정답으로 고른다. '이미 번역된 실행 파일을 메모리에 올리는 역할'은 로더로 분류해 오답으로 처리한다.

자주 묻는 물음

컴파일러와 인터프리터의 차이는 무엇인가?
컴파일러는 전체 소스 코드를 한 번에 번역하여 목적 프로그램을 생성하고, 인터프리터는 소스 코드를 한 줄씩 번역하면서 즉시 실행한다.
로더는 언어 번역 프로그램에 해당하나?
로더는 번역 기능이 아니라 번역된 객체 코드나 실행 파일을 메모리에 적재하여 실행 준비를 하는 역할이므로 언어 번역 프로그램에 해당하지 않는다.
어셈블러는 어떤 역할을 하나?
어셈블러는 어셈블리 언어를 기계어로 변환하는 언어 번역 도구로서 번역기의 한 종류에 해당한다.
이 개념 문제 10개 풀기 회원용

프로그래밍기능사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.