https://velog.io/@namung08/series/JAVA
1. Java 시작하기

1-1. 프로그래밍 언어
- 프로그래밍 언어란 주어진 어떤 문제를 해결하기 위해 인간과 컴퓨터 사이에서 의사소통을 가능케 하는 인공적인 언어이다.
- 이 언어를 통하여 사용자는 컴퓨터에게 일련의 일을 시키는 명령어들의 집합체인 프로그램을 작성할 수 있다.
1-2. 프로그래밍 언어의 종류
- 기계어와 고급언어가 있다

- 기계어 : 컴퓨터가 이해하는 언어로서 2진수의 집합으로 구성되어 있다.
- 고급언어 : C, C++, JAVA, C# 등 사람이 이해할 수 있는 수준의 언어, 기계어로 변환되어야만 프로그램 형태로 실행되는 것이 가능하다.
2. JAVA 언어 소개
① 운영체제에 독립적이다.

-> JVM이 설치된 환경이라면 어디서든지 실행 가능함
② 객체지향 언어
-> 상속, 캡슐화, 다향성
-> 코드의 재사용 및 유지보수에 용이함
③ 자동 메모리 관리
-> Grabage Collector가 자동으로 메모리를 관리해준다
④ 네트워크, 분산처리 멀티스레드
-> 시스템과 관계없이 네트워크, 분산처리, 멀티스레드 구형을 위한 손쉬운 API 제공
3. JAVA 프로그램이 만들어지는 과정

*.java -> *.class
-컴파일(compiler) 혹은 변환(=컴파일, compile)
*.class -> *.java
-디컴파일
4. 자바 가상 머신(Java Virtual Machine/JVM)
자바를 실행하기 위한 가상 컴퓨터
컴파일된 자바 바이트 코드를 실행시켜 주는 소프트웨어
자바 프로그램은 JVM이 설치된 환경이라면 운영체제나 하드웨어에 종속되지 않고 실행 가능
운영체제로부터 독립적이다