컴파일 2

자바 3강. 컴파일과 인터프리터

컴파일 : 전체 코드를 한 번에 번역 (ex. C언어) 실행 속도가 빠름 인터프리터 : 한 줄씩 읽어서 번역 (ex. 파이썬, 자바 스크립트) 컴파일에 비해 속도가 느림 쌀을 보관할 쌀창고의 크기를 설계한다고 생각해보자. 쌀의 크기와 양을 알고 있다면 창고의 크기를 미리 설계할 수 있고, 창고의 낭비가 없을 것이다. 들어올 쌀의 양과 크기가 정해져 있는 것을 정적이라고 한다. 컴파일이 정적인 언어이다. 컴파일은 메모리 공간 설계가 완벽해서 공간에 낭비가 없다. 들어올 쌀의 양과 크기를 모른다면 쌀이 들어올 때마다 창고를 설계해야 한다. 이것을 동적이라고 한다. 인터프리터가 동적인 언어이다. 이때 창고의 크기보다 더 큰 쌀이 들어왔다면 더 큰 공간의 공터에 쌀을 보관하고 창고에는 공터의 주소를 참조하게 된..

JAVA 2022.01.06

자바 2강. JAVA언어란

기계어는 제어 가능한 복잡한 회로를 거쳐 하드웨어에 명령을 내려 원하는 결과를 출력장치에 도출해낸다. 프로그램이 cpu에 내리는 명령들을 표현하며, 이러한 명령들은 실제로 0과 1로만 이루어져 있다. 우리의 목적은 소프트웨어로 하드웨어를 제어하는 것이다. 기계어는 인간들의 관점에서 보면 이해하기 어렵고 프로그래밍하기에 상당히 불편한 언어이었기 때문에 좀 더 용이한 언어가 필요했다. 따라서 인간이 보다 편리하고 알기 쉽게 지시를 내리기 위하여 프로그래밍 언어들이 만들어졌다. 어셈블리 언어는 사람이 이해하기 편한 기호를 기계어로 번역해준다. add나 minus와 같은 명령을 기호라고 하면 기호가 많을수록 복잡도가 높아지고 적을수록 복잡도는 낮아지지만 기능은 떨어지게 된다. 명령을 내리는데 필요한 모든 명령어..

JAVA 2022.01.06