관리 메뉴

LC Studio

자바를 시작하기 전에 Chapter 1 요약 (자바의 정석) #1 본문

Java/Java의 정석

자바를 시작하기 전에 Chapter 1 요약 (자바의 정석) #1

Leopard Cat 2022. 1. 2. 21:17

1. 자바(Java Programming Language)

1.1 자바란?

자바는 썬 마이크로시스템즈에서 개발하여 1996년 1월에 공식적으로 발표된 객체지향 프로그래밍 언어이다.

운영체제의 종류에 상관없이 실행이 가능하다는 특징이 있다.

 

1.2 자바의 역사

가전제품에 사용할 언어 개발을 목적으로 만들어졌다.

C++의 장점을 도입하고 단점을 보완하여 만들어졌다.

 

1.3 자바언어의 특징

-운영체제에 독립적이다.

java 응용프로그램은 운영체제나 하드웨어가 아닌 JVM(자바가상머신)과 통신하기 때문이다.

하지만 JVM은 운영체제에 종속적이다.

 

-객체지향언어이다.

 

-비교적 배우기 쉽다.

C++과 스몰톡의 장점은 취하고 복잡하고 불필요한 부분은 제거하여 단순화한 언어이다.

 

-자동 메모리 관리.

가비지컬렉터가 자동으로 메모리를 관리하여, 프로그래밍에 더 집중할 수 있는 환경을 제공한다.

 

-네트워크와 분산처리를 지원한다.

다양하고 풍부한 네트워크 프로그래밍 라이브러리(Java API)를 통해 짧은 시간안에 네트워크 관련 프로그램을 개발할 수 있도록 지원한다.

 

-멀티쓰레드를 지원한다.

시스템과 상관없이 멀티쓰레드가 구현 가능하다. 

JAVA API가 제공됨으로 구현이 쉽다.

 

-동적 로딩(Dynamic Loading)을 지원한다.

실행 시 모든 파일이 로딩되는 것이 아닌, 필요한 시점의 클래스를 로딩하여 사용할 수 있다.

클래스가 변경되어도 전체 어플리케이션을 컴파일하지 않아도 된다.

 

1.4 JVM(Java Virtual Machine)

JVM은 'Java Virtual Machine'의 약자로, '자바를 실행하기 위한 가상 컴퓨터'이다.

실제 컴퓨터(하드웨어)가 아닌 소프트웨어로 구현된 컴퓨터라는 뜻으로 컴퓨터 속의 컴퓨터라고 생각하면 된다.

 

- 자바로 작성된 애플리케이션은 모두 이 가상 컴퓨터(JVM)에서만 실행되기 때문에,

  자바 애플리케이션이 실행되기 위해서는 반드시 JVM이 필요하다.

 

- Java 애플리케이션

java 애플리케이션 <-> JVM <-> OS <-> 컴퓨터

- 일반 애플리케이션

일반 애플리케이션 <-> OS <-> 컴퓨터

 

일반 애플리케이션의 코드는 OS만 거치고 하드웨어로 전달되는데 비해 

Java 애플리케이션은 

①JVM을 한번 더 거치기 때문에, 

②하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행시에 해석(interpret)되기 때문에,

비교적 속도가 느리다. (JIT컴파일러, 최적화 기술 등으로 속도 격차 줄어드는 중)

 

위처럼 Java애플리케이션은 JVM과만 상호작용하기 때문에 여러 OS에서 실행가능하다.

(단, JVM이 OS에 종속적이라 해당 OS에서 실행가능한 JVM 필요.)

반응형