코딩항해기

[JAVA] 자바 프로그래밍의 기초 본문

JAVA

[JAVA] 자바 프로그래밍의 기초

miniBcake 2024. 7. 12. 17:47

 
 
[멘토시리즈] 자바 리뷰하기 - 1. 자바 프로그래밍의 기초
 

JAVA

자바는 1991년 선 마이크로시스템즈의 제임스 고슬링을 비롯한 연구원들에 의해 개발된 객체 지향 프로그래밍 언어이다.
Oracle에서 인수하여 자바 개발도구를 배포하고 기술적 지원을 하고 있다.
 

자바의 역사

C와 C++언어는 플랫폼에 종속적인 언어라 각각 컴파일이 필요했고, 이로 인한 비용, 시간 소모가 크다는 단점이 있었다.
이를 보완하기 위해 오크를 개발하게 되었으나 인터넷 등장과 함께 방향성을 수정하며 자바(JAVA) 이름을 가지게 되었다.
 

자바의 특징

1. 객체 지향 언어
2. 단순성
3. 이식성
4. 멀티 스레드 지원 (Multi-Thread)
5. 가비지 컬렉터 (GC:Garbage Collector) - 메모리 관리
6. 풍부한 오픈소스 라이브러리
 
 

JDK, JRE, JVM

 

C프로그램과 자바 프로그램의 실행 프로세스 비교

C와 자바 코드 실행 프로세스 비교

 
 
자바 가상 머신 JVM (Java Virtual Machine)은 자바가 플랫폼에 독립적일 수 있게 만들어준다.
 
예를 들어 C프로그램은 바로 플랫폼에 맞춘 기계어로 컴파일을 진행하므로, 플랫폼에 종속적이다.
(windows로 컴파일된 기계어를 Linux에서 사용할 수 없다. 다시 컴파일부터 진행하여야함)
 
반면, 자바 프로그램은 중간 단계 언어로 컴파일하여 JVM만 플랫폼에 맞춰 설치한다면 플랫폼과 상관없이 한 번만 컴파일을 진행하면 된다. 이름 플랫폼에 독립적이라고 한다.
 
 

자바프로그램의 실행 프로세스

자바 컴파일러가 .java를 컴파일 한 파일을 기계어 파일인 바이트코드(.class)라고 한다. 
이렇게 컴파일 단계를 거친 class파일을 JVM이 읽고 해당하는 운영체제로 프로그램을 실행시킨다.
 
*바이트 코드 : 운영체제에 맞는 완전한 기계어가 아닌 중간 기계어. 실행시키려면 JVM이 필요하다.

'JAVA' 카테고리의 다른 글

[JAVA] 연산자  (0) 2024.07.14
[JAVA] 인터페이스 (+Adapter, 마커인터페이스)  (0) 2024.07.13
[JAVA] 다형성  (0) 2024.07.07
[JAVA] Up casting, Down casting  (0) 2024.07.04
[JAVA] 자바의 Call by Value, Call by Reference  (0) 2024.07.03