[Tistory] [Java] 자바는 컴파일 언어? 인터프리터 언어?

원글 페이지 : 바로가기

컴파일러와 인터프리터 컴파일러와 인터프리터 모두 high-level language를 machine language로 번역한다. 1. 컴파일 언어 컴파일 언어는 내가 작성한 소스 코드 전체를 기계어로 번역한 뒤, 이 번역된 코드를 한 번에 실행하는 두 단계를 거쳐 진행된다. 즉, 번역과 실행이 완전이 따로 이루어진다. 번역은 컴파일러를 통해 수행되고, 대표적인 예시로는 C, C++이 있다. – 특징 1. 컴파일은 오래 걸릴 수 있다. 2. 이미 컴파일 된 프로그램이라면 빠른 속도로 실행이 가능하다. 3. OS 이식성이 낮다. 다른 OS에서 실행하려면 그에 맞는 컴파일러로 다시 컴파일 해주어야 한다. 2. 인터프리터 언어 인터프리터 언어는 소스 코드를 한 줄씩, 번역과 실행을 동시에 진행한다. 번역은 인터프리터를 통해 수행되며, 대표적인 예시로는 Python, R, JavaScript가 있다. – 특징 1. 줄 단위로 번역과 실행을 하기 때문에 실행이 느리다. 2. 디버깅이 쉽다. (오류를 발견하면 해당 코드 밑으로는 번역 및 실행 불가) 3. OS 이식성이 좋다. 호환되는 인터프리터만 있다면 바로 실행 가능하다. 자바는 컴파일 언어? 인터프리터 언어? 자바는 컴파일 언어이면서 동시에 인터프리터 언어이다. – 자바 컴파일러는 javac(java compiler)를 통해 .java 파일을 바이트코드로 쓰여진 .class 파일로 변환한다. 즉, 컴파일러는 자바 소스코드를 JVM을 위한 기계어로 변환한다. – 자바 인터프리터는 자바 컴파일러에 의해 변환된 class 파일 내의 바이트 코드를 특정 환경의 기계에서 실행될 수 있도록 변환한다. 정리하자면 자바 컴파일러는 소스 코드(.java)를 자바 바이트 코드(.class)로 컴파일하고, 자바 인터프리터는 바이트 코드(.class)를 기계가 이해할 수 있도록 machine code로 변환/번역한다. 자바는 따라서 컴파일 언어이자 인터프리터 언어인 “하이브리드 언어”이다. 혼합 사용을 통해 실행 속도와 코드 수정의 편의성을 조화시킬 수 있다. https://jooona.tistory.com/157 [JAVA] JAVA는 컴파일 언어일까, 인터프리터 언어일까? 앞의 글에서 우리가 코딩 시에 사용하는 언어들은 컴파일 언어와 인터프리터 언어로 구분할 수 있다는 사실을 알게 되었다. 다시 기술하자면, C, C++, Go 등의 언어는 컴파일 언어이고, Python, R, Java jooona.tistory.com https://velog.io/@tsi0521/Java%EB%8A%94-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%EC%99%80-%EC%9D%B8%ED%84%B0%ED%94%84%EB%A6%AC%ED%84%B0-%EB%91%98-%EB%8B%A4-%EA%B0%80%EC%A7%84%EB%8B%A4 Java는 왜 컴파일러와 인터프리터 둘 다 가지는가? 1. 컴파일러 vs 인터프리터 컴파일러 & 인터프리터 모두 high-level language를 machine language로 번역한다 컴파일러는 소스 코드(high-level language로 작성) 전체를 링커등을 통해 한번에 번역하여 object file( velog.io

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다