컴파일은 프로그래밍 언어를 런타임 이전에 기계어로 해석하는 작업방식이다.
런타임 이전에 어셈블리어로 변환하기 때문에 구동시간이 오래 걸리지만 구동된 이후는 하나의
패키지로 매우 빠르게 작동하게 된다.
구동시에는 코드와 함께 시스템으로부터 메모리를 할당 받으며, 할당받은 메모리를 사용하게 된다.
런타임 이전에 이미 해석을 마치고 대개 컴파일 결과물이 바로 기계어로 전환되기 때문에
OS 및 빌드환경에 종속적이다.
컴파일 언어는 대표적으로 C와 C++가 있고 자바도 ByteCode로 바꾸기 위한 과정에서 컴파일을
수행하게 된다.
인터프리터 방식은 런타임 이전에 기계어로 프로그래밍 언어를 변환하는 컴파일 방식과는 다르게,
런타임 이후에 Row 단위로 해석하며 프로그램을 구동시키는 방식이다.
프로그래밍 언어를 기계어로 바로 바꾸지 않고 중간단계를 거친 뒤, 런타임에 즉시 해석하기 때문에
컴파일 방식에 비해 낮은 퍼포먼스를 보이게 된다.
런타임에 직접 코드를 구동시키는 특징이 있기 때문에 실제 실행시간은 느리며,
대신 런타임에 실시간 Debugging 및 코드 수정이 가능하다.
컴파일 방식과 다르게 메모리는 별도로 할당받아 수행하지 않으며, 필요할 때 할당해서 사용한다.
대표적인 언어로는 javascript같은 스크립팅 언어들이 있지만, 스크립트 언어 뿐 아니라
컴파일 이후의 동작에서 인터프리트를 수행하는 언어들도 많이 존재한다.
file의 종류는 마스터파일, 트랜잭션파일, 보고서파일, 작업파일, 프로그램파일, 텍스트파일로
분류된다.
마스터파일은 어느 한 시점에서 조직체의 업무에 관한 정적인 면을 나타내는 데이터의 집합이다.
비교적 영구적인 데이터이고 한번 생성시 변화가 거의 없다.
보통 파일이라고 하면 마스터파일을 의미한다.
트랜잭션 파일은 마스터파일의 변경내용을 모아 둔 파일이며 마스터파일과 반대로 자주
바뀌고 마스터파일을 변경하기 위한 데이터파일이다.
보고서 파일은 사용자에게 정보검색의 결과를 보여주기 위해 일정한 형식을 갖춘 데이터를
저장하고 있는 파일을 말한다.
작업파일은 어느 한 프로그램에서 생성된 출력데이터를 다른 프로그램의 입력데이터로
사용하기 위해 임시로 만드는 파일로 Temporary file 이라고 한다.
프로그램파일은 데이터를 처리하기 위한 명령어들을 저장하고 있는 파일이며,
텍스트 파일은 문자, 숫자와 그래픽 데이터를 포함하고 있는 파일이다.
'JAVA' 카테고리의 다른 글
연산자 사용 및 프레임워크, tools, IDE 의 차이점 (1) | 2020.04.28 |
---|---|
빌드(Build) (1) | 2020.04.28 |
변수, 상수, 연산자, 초기화, 대입, 선언 (0) | 2020.04.28 |
메모리구조 (0) | 2020.04.28 |
DataBase란? (0) | 2020.04.28 |