이 둘을 쉽게 정의하기 위해 생각해야 할 것이 있다.
프로그램을 실행하는 것은 컴퓨터가 한다.
즉, 프로그램은 컴퓨터가 이해할 수 있는 형태로 작성되어 있어야 한다.
1. 바이너리 코드란?
정의 : 컴퓨터가 인식할 수 있는 0과 1로 구성된 이진 코드이다.
✓ 이진 코드란? 쉽게 말해, 0과 1로 이루어진 코드이다.
바이너리 코드(binary code)의 영어 뜻을 해석해보면
'binary'는 '둘의', '이진법의'라는 뜻이다.
컴퓨터는 모든 정보를 '0'과 '1' 두 숫자만을 이용하여 인식한다.
그렇기 때문에 컴퓨터가 인식할 수 있는 0과 1로만 구성된 코드를 '바이너리 코드'라고 말한다.
2. 바이트 코드란?
정의 : '가상 머신'이 이해할 수 있는 '0'과 '1'로 구성된 이진 코드이다.
✓ 가상 머신이란? JVM(Java Virtual Machine)이라고 불리며 'virtual'은 '가상의'라는 뜻이다.
어느 환경(맥, 윈도우, 리눅스)에 상관없이 자바 프로그램을 실행할 수 있도록 도와주는 프로그램이다.
바이트 코드(Byte code)의 영어 뜻에서 유추해볼 수 있듯이
자바 컴파일러에 의해 변환되는 코드의 명령어 크기가 1바이트이기 때문에 바이트 코드라 불린다.
자바 바이트 코드의 확장자는 '. class'이다.
자바 바이트 코드는 JVM만 설치되어 있다면 어떤 OS든 실행될 수 있다.
✓ OS란? Operating System의 약자로 컴퓨터 시스템의 자원들을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램들이다.
✓ OS의 종류 : WIndows 98, Windows10, UNIX, LINUX, MS-DOS 등이 있다.
'develop' 카테고리의 다른 글
프리미티브 타입과 레퍼런스 타입 -초보개발자- (0) | 2020.12.18 |
---|---|
JDK 란? -초보개발자- (1) | 2020.12.18 |
JIT 컴파일러란? -초보개발자- (1) | 2020.12.18 |
컴파일의 방법과 실행 -초보개발자- (1) | 2020.12.18 |
JVM 이란? -초보개발자- (1) | 2020.12.18 |