과외 참고하라고 정리문서 준비하면서 정리좀 해봤당..


1. 아래 설명된 특징에 대한 내용들은 자바의 특징인데 막 배우기 시작하는 단계에서 봐봤자 무슨 말인지 이해 못할 수있다. 그러므로 아~ 그런가보다 하고 넘기자!

자바 특징

객체지향 프로그래밍 언어이다. ( c언어같은 미들이하급 언어를 접해보지 못한 사람은 프로그래머라도 이 의미를 정확히 이해할 수 없을 것이다.)
운영체제에 독립적이다. 
풍부한 클래스 라이브러리를 통해 강력한 기능을 개발하기 용이하다.
자동 메모리 관리
네트워크와 분산처리를 지원한다.
멀티쓰레드를 지원한다.
동적 로딩을 지원한다.


2. 자바어플리케이션을 만드려면 일단 자바개발도구=JDK라는 프로그램을 설치해야된다.

JDK 설치 후에 bin폴더 아래에 핵심 실행파일(.exe)들이 있는데 간략 설명 들어간다.

javac.exe : 자바컴파일러, 우리가 작성한 소스코드를 바이트코드로 컴파일한다.
바이트코드로 컴파일하는 이유? : 자바어플리케이션을 직접 실행하는 놈이 JVM인데 이 놈은 자바문법을 배우지 못하고 태어나서 바이트코드라는 것밖에 모른다..
그래서 바이트코드로 한번 컴파일시켜주는 것이다.

※ JVM이 뭐지? : JVM은 자바에서 가장 중추역할을 하는 놈인데 이 놈이 컴파일된 바이트코드를 해석해서 어떤 OS든 그 OS에 맞는 기계어로 변환해서 OS에게 이거 실행시켜달라고 부탁까지 해주는 놈이다. 결국 우린 소스코드만 짜고 javac.exe로 컴파일까지만 해놓으면 그 다음부턴 JVM이 모든 것을 책임져준다.

java.exe : 우리가 작성한 소스코드를 바이트코드로 한번 컴파일 된 파일(.class)을 해석하면서 실행시켜준다.
※ 우리가 작성한 소스코드는 저장시에 .java라는 확장자로 저장을 해야하고 이 놈을 컴파일하게되면 javac.exe 프로그램이 알아서 이 파일을 .class라는 확장자로 탈바꿈되서 탄생시켜준다. 


우리 --> 우리가 작성한 자바소스코드(.java) --> .java가 컴파일된 바이트코드(.class) --> JVM이 해석후 기계어변경 후 OS에게 크로스 띄워줌 --> OS가 받고 최종 실행