컴퓨터가 인식할 수 있는 명령어의 나열(집합)
프로그램을 작성하는 과정 = 코딩
프로그램을 작성하기 위한 언어체계, 사람이 컴퓨터와 소통하게 하는 요소
+ 생활코딩 JAVA1 - 9.1. 프로그래밍이란 무엇인가?
시간의 순서에 따라 일어나야 하는 일을 컴퓨터에게 알려주는 작업을 프로그래밍이라고 한다.
다시 말해, 프로그램은 프로그래밍을 통해 만들어진 결과물이다.
우리는 프로그래밍 언어를 사용함으로써 언제 끝날 지 예측할 수 없는 작업을 기다릴 필요 없이, 기계에 위임해 자동화 처리할 수 있다.
이를 구현하는 가장 유명한 컴퓨터 언어 중 하나가 자바이다.
우리가 프로그램을 만들 때는 처음부터 끝까지 혼자 다 만드는 것이 아니다. 다른 사람이 만든 어떤 부품을 가지고 와서 그 부품들을 결합해 나의 완제품을 만드는 것. 그리고 또 내가 만든 완제품이 다른 누군가의 부품이 될 수도 있는 것. 서로 어깨동무를 하며 나아가는 것이 소프트웨어를 만드는 데 있어 필수적인 요소이다.
- 운영체제에 독립적(이식성이 높음)
- 사용하기 쉬운 언어
- 다른 언어의 단점 보완
- 객체 지향 언어
- 능률적이고 명확한 코드 작성 가능
- 자동 메모리 관리(Garbage Collection)
- 네트워크와 분산환경 지원
- 멀티쓰래드 지원
- 동적 로딩 지원
자바를 실행하기 위한 가상 기계로 플랫폼에 의존적
byte code(class파일)를 해석하고 실행하는 interpreter
사용자가 자바 언어를 통해 소스코드 작성 시 생성되는 파일은 java source code(.java)이며, 이는 인간만이 이해할 수 있는 언어이다.
따라서 이를 기계가 이해할 수 있는 언어로 전환하는 '컴파일(compile)' 과정을 거치게 된다. 이 과정에서 java application(.class) 파일이 생성된다.
자바 프로그램의 실행을 도와주는 이클립스 편집기가 java virtual machine에게 명령어의 실행을 요구하면, JVM이 (.class) 확장자 파일을 읽어 명령어를 실행한다.