Halo World

컴파일러, 인터프리터, 하이브리드 본문

개발 지식/JAVA

컴파일러, 인터프리터, 하이브리드

_Yeony 2017. 6. 1. 21:19

 

| 컴파일러

 

 - 원시 프로그램, 고급언어로 작성된 문장을 처리하여 기계어 또는 컴퓨터가 사용할 수 있는 코드(목적 프로그램)으로 번역해주는 프로그램

 - 프로그램 전체를 한꺼번에 번역 후 실행

 - 목적 프로그램 생성으로 메모리 사용

 - 컴파일러에 의해 번역된 프로그램은 언제든지 실행될 수 있는 실행 가능한 프로그램

 - 번역 속도 느림

 - 실행 속도 빠름

 - 디스크에 저장됨

 - 특정 시스템에서 번역된 실행파일이 다른 시스템에서는 실행되지 않는다

 - 사용 예 : C, 포트란

 

 

| 인터프리터

 

 - 고급 언어로 작성된 명령문을 한번에 한 줄씩 번역하고 실행하는 프로그램

 - 메모리 사용하지 않음

 - 주요 스크립트 언어에서 대부분 사용 (웹이 작동하는 방식이 전형적인 인터프리터 기법)

 - 목적 프로그램 생성하지 않음

 - 배우기 쉽고, 이식성이 뛰어남

 - 번역 속도 빠름

 - 실행 속도 느림

 - 프로그램 자체가 공개됨

 - ROM에 저장됨

 - 사용 예 : 베이식, 자바스크립트, HTML, ASP, PHP, Perl

 

 

| 하이브리드 기법

 

 - 컴파일 기법 + 인터프리트 기법을 모두 사용

 - 사용자에 의해 작성된 프로그램이 컴파일러에의해 중간코드로 변환되고, 이는 다양한 형태의 서로 다른 시스템에서 인터프리터에 의해 직접 실행

  * 중간코드 : 컴퓨터에서 직접 실행될 수 없는 코드로서 컴퓨터 하드웨어에 독립적인 코드 

 - 이식성이 뛰어남

 - 한번 작성된 프로그램은 어떤 컴퓨터 시스템에서든지 즉시 실행 가능

 - 인터프리트 방식의 단점인 소스프로그램의 공개과 컴파일러 방식의 단점인 특정 컴퓨터에 종속적이라는 단점을 해결

 - 최근의 언어에 주로 사용

 - 사용 예 : JAVA, C#

'개발 지식 > JAVA' 카테고리의 다른 글

접근 제한자  (0) 2017.06.03
싱글톤(Singleton)  (0) 2017.06.03
객체 지향 프로그래밍의 특징(캡슐화, 상속, 다형성)  (0) 2017.06.02
JSP 모델1, 모델2 개념과 장단점  (0) 2017.06.01
MVC 패턴이란?  (0) 2017.06.01