-
What does it mean? 기계어 ~ IDEKIOR/Basic IT 2026. 1. 5. 08:00

What is mean?
기계어 / 어셈블리어 / 저수준 언어 / 고수준 언어 / 컴파일러 / 인터프리터 / IDE 같은 용어들은 개발을 시작할 때 가장 먼저 만나는 개념입니다. 처음엔 비슷해 보여도 컴퓨터가 이해하는 방식과 사람이 작성하는 방식의 차이를 기준으로 정리하면 훨씬 깔끔해집니다.
🚀 기계어(Machine Language)란?
기계어는 컴퓨터(CPU)가 직접 이해하고 실행할 수 있는 언어이며, 0과 1(이진수)로 이루어져 있습니다.
- 컴퓨터 입장에서는 가장 자연스러운 언어(= 바로 실행 가능)
- 사람 입장에서는 읽고 쓰기 어렵고 실수하기 쉬움
예를 들어, 우리가 “더하기”를 하고 싶다고 해도 컴퓨터는 0101 같은 비트 단위 명령으로 받아들입니다.
즉, 기계어는 사람이 아니라 CPU를 위한 언어라고 보면 됩니다.
🚀 어셈블리어(Assembly Language)란?
어셈블리어는 기계어를 사람이 알아보기 쉬운 기호(니모닉) 형태로 표현한 언어입니다.
- 기계어를 그대로 쓰기 어렵기 때문에 등장
- 기계어와 1:1로 대응되는 명령이 많음
- CPU/아키텍처에 따라 문법과 명령이 달라짐 (예: x86, ARM)
즉, 기계어를 사람이 조금이라도 읽을 수 있게 "번역해 둔 표현 방식"이라고 이해하면 좋아요.
🚀 저수준 언어 vs 고수준 언어
✅ 저수준 언어(Low-level Language)
저수준 언어는 기계(하드웨어)에 가까운 언어입니다.
- 대표적으로 기계어, 어셈블리어
- 하드웨어 제어에 유리하지만 사람이 쓰기 불편
- CPU 구조/레지스터/메모리 같은 개념과 밀접
✅ 고수준 언어(High-level Language)
고수준 언어는 사람이 이해하기 쉬운 표현에 가까운 언어입니다.
- 대표적으로 C, C++, Java, Python, JavaScript 등
- 문법이 사람에게 익숙하고, 생산성이 높음
- 대신 실행을 위해서는 결국 기계어로 변환 과정이 필요
정리하면, 저수준 언어 > 컴퓨터가 좋아하는 방식, 고수준 언어 > 사람이 좋아하는 방식
🚀 프로그래밍 언어란?
프로그래밍 언어는 컴퓨터와 소통하기 위해 만들어진 언어입니다.
- 사람이 “무엇을 하고 싶은지”를 코드로 표현
- 컴퓨터가 이해할 수 있도록 결국 기계어로 변환되어 실행
우리가 작성하는 대부분의 코드는 고수준 언어이고, 컴퓨터가 실제로 실행하는 것은 기계어입니다.
그래서 변환해주는 도구 > 대표가 바로 컴파일러/인터프리터입니다.
🚀 컴파일 언어 vs 인터프리터 언어
✅ 컴파일 언어(Compiled Language)
컴파일 언어는 소스 코드 전체를 한 번에 기계어로 변환해 실행 파일을 만든 뒤 실행합니다.
- 코드 전체를 번역(컴파일) → 실행 파일 생성 → 실행
- 한 번 만들어진 실행 파일은 빠르게 실행되는 경우가 많음
- 대표 예시: C, C++ (일반적으로 이런 방식으로 분류)
✅ 인터프리터 언어(Interpreted Language)
인터프리터 언어는 코드를 한 줄(또는 한 단위씩) 읽으면서 해석하고 바로 실행합니다.
- 실행 파일을 “미리” 만들기보다, 실행 시점에 해석하면서 동작
- 즉시 실행이 쉬워 학습/개발 속도가 빠른 편
- 대표 예시: Python, JavaScript (일반적으로 이런 방식으로 분류)
컴파일 > 미리 번역해서 실행 파일 만들고 실행
인터프리터 > 실행하면서 바로바로 해석
*참고로 실제 구현은 언어/환경에 따라 혼합(JIT 등)되는 경우도 많지만, 입문 단계에서는 위 구분으로 이해하면 가장 좋습니다.
🚀 IDE란?
IDE(Integrated Development Environment)는 개발에 필요한 기능을 한 번에 제공하는 통합 개발 환경입니다.
즉, 코딩만 할 수 있는 단순 편집기가 아니라, 개발 생산성을 높이기 위한 도구들이 묶여 있는 “개발용 프로그램”이에요.
✅ IDE가 보통 제공하는 기능
- 코드 편집 (문법 하이라이트, 자동 들여쓰기)
- 자동완성 (코드 추천, 함수/변수 추적)
- 디버깅 (브레이크포인트, 변수 값 확인)
- 빌드/실행 (컴파일 및 실행 버튼으로 동작)
- 프로젝트 관리 (폴더 구조, 의존성 관리)
대표적으로 IntelliJ IDEA, Eclipse, Visual Studio, VS Code(확장 포함) 같은 것들이 여기에 해당합니다.
💭 마무리
처음에는 용어가 복잡해 보이지만, 이렇게 정리하면 의외로 단순합니다.
+ 기계어 = 컴퓨터가 직접 실행하는 0과 1
+ 어셈블리어 = 기계어를 사람이 읽을 수 있게 기호로 표현
+ 저수준 언어 = 기계에 가까움 (기계어/어셈블리어)
+ 고수준 언어 = 사람에 가까움 (Java, Python 등)
+ 프로그래밍 언어 = 컴퓨터와 소통하기 위한 언어
+ 컴파일 언어 = 미리 번역해 실행 파일 생성 후 실행
+ 인터프리터 언어 = 실행하면서 한 줄씩 해석
+ IDE = 개발에 필요한 기능을 통합 제공하는 프로그램프로그래밍 공부는 부지런히...

'KIOR > Basic IT' 카테고리의 다른 글
What does it mean? 코딩 vs 프로그래밍 (0) 2026.01.02 What does it mean? Developer(개발자) (0) 2025.09.15