자바란?
썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어이다. 1991년 그린 프로젝트(Green Project)라는 이름으로 시작해 1995년에 발표했다. 처음에는 가전제품 내에 탑재해 동작하는 프로그램을 위해 개발되었지만 현재 웹 애플리케이션 분야에 가장 많이 사용하는 언어 중 하나이고, 안드로이드를 비롯한 모바일 기기용 소프트웨어 개발에도 널리 사용되고 있다.
자바의 특징
- Object oriented programming(OOP) 객체 지향 프로그래밍(프로그램의 구현을 시간의 흐름순이 아닌 객체간의 관계와 협력을 기반으로 프로그램 하는 것)
- 플랫폼에 영향을 받지 않으므로 다양한 환경에서 사용할 수 있다. (Write once, Run anywhere)
(c언어는 각각의 운영체제마다 실행파일이 달라지지만 자바는 가상머신을 위한 파일(바이트 코드)하나만 있다면 운영체제 상관없이 구동이 가능하다.)
c vs java ![](https://velog.velcdn.com/images/tjwjdgus83/post/151d79de-409f-45ae-adcf-9ae3192f8141/image.png)
![](https://velog.velcdn.com/images/tjwjdgus83/post/c312e741-5573-45d7-b9a0-b6068c7e6576/image.png)
자바 관련용어
- JDK(Java Development Kit) : 자바에서 제공되는 개발용 라이브러리(JRE에는 없는 자바 컴파일러를 가지고 있어 자바 프로그램을 직접 개발할 수 있다.)
- JRE(Java Runtime Environment) : 자바 프로그램이 실행되는 환경(자바 클래스 로더를 포함하여 다양한 라이브러리를 결합 후 jvm에게 전달)
- JVM(Java Virtual Machine) : 자바 가상 머신으로 자바 프로그램을 모든 플랫폼에서 제약 없이 동작
![](https://velog.velcdn.com/images/tjwjdgus83/post/4d1fd639-c6a0-4468-b36d-97a23db2502e/image.jpg)