바이트코드

바이트코드는 소프트웨어 인터프리터용으로 설계된 저수준 코드로 소스 코드에서 컴파일된 프로그램 코드입니다. 가상 머신(JVM 등)에서 실행하거나 프로세서가 인식하는 기계어로 다시 컴파일할 수 있습니다.

바이트코드 유형마다 서로 다른 구문을 사용하며, 해당 가상 머신이 이를 읽고 실행할 수 있습니다. 대표적인 예로 Java 바이트코드가 있습니다. Java 바이트코드는 Java 소스 코드에서 컴파일되며 Java 가상 머신(JVM)에서 실행할 수 있습니다. 다음은 Java 바이트코드 명령어의 예입니다.

  • new (새 객체 생성)
  • aload_0 (참조 로드)
  • istore (정수 값 저장)
  • ladd (long 값 더하기)
  • swap (두 값 교환)
  • areturn (함수에서 값 반환)

바이트코드를 직접 작성할 수도 있지만 Java와 같은 고급 언어로 코드를 작성하는 것보다 훨씬 어렵습니다. 따라서 Java .CLASS 파일과 같은 바이트코드 파일은 대부분 javac와 같은 컴파일러를 사용해 소스 코드에서 생성됩니다.

바이트코드와 어셈블리 언어 비교

바이트코드는 어셈블리 언어와 마찬가지로 고급 언어는 아니지만, 기계어와 달리 어느 정도 읽을 수 있습니다. 둘 다 소스 코드와 기계어 사이에 있는 "중간 언어"로 볼 수 있습니다. 두 언어의 주요 차이점은 바이트코드는 가상 머신(소프트웨어)용으로 생성되는 반면, 어셈블리 언어는 CPU(하드웨어)용으로 만들어진다는 것입니다.

업데이트됨 January 23, 2018 작성: Per C.

quiz지식 테스트하기

Which Unix command is used for searching text documents?

A
cd
0%
B
ls
0%
C
man
0%
D
grep
0%
Correct! Incorrect!     View the Grep definition.
More Quizzes →

Tech Terms 컴퓨터 사전

이 페이지의 바이트코드에 대한 정의는 TechTerms.com의 저자가 작성한 원본 정의입니다. 이 페이지를 참조하거나 이 정의를 인용하려면 정의 바로 아래에 있는 녹색 인용 표시줄을 사용하세요.

저희의 목표는 컴퓨터 용어를 이해하기 쉬운 방식으로 설명하는 것입니다. 게시하는 모든 정의에서 정확성과 간결함을 추구합니다. 이 정의에 대한 피드백이 있거나 새로운 기술 용어를 제안하고 싶으시면 문의해 주세요.

Tech Terms 뉴스레터

매일 또는 매주 발행되는 뉴스레터로 기술 지식을 향상시키세요! 지금 구독하고 새로운 용어와 퀴즈를 이메일로 받아보세요.

무료 TechTerms 뉴스레터 구독하기

이메일을 얼마나 자주 받고 싶으신가요?

각 이메일에 포함된 링크를 통해 언제든지 구독을 취소하거나 수신 빈도를 변경할 수 있습니다. 질문이 있으신가요? 문의해 주세요.

참고: 뉴스레터는 영어로 발송됩니다.