[Java] JAVA?

Max·2022년 8월 26일
0

JAVA

목록 보기
1/3


💻JAVA?

1995년 제임스 고슬링이 Sun Microsystems에서 개발한 객체 지향 프로그래밍 언어이다. 초기의 자바는 가전제품에 사용할 프로그래밍 언어로 개발되었지만, 지금 전 세계적으로 다양한 분야에서 사용하고 있다.


📝JAVA의 특징

1. 객체 지향 언어

자바는 객체 지향 언어이며 객체 지향 프로그래밍에서 사용되는 언어를 말한다. 객체 지향 프로그래밍(OOP : Object Oriented Programming)은 객체를 만들고, 서로 연결 및 조립을 해서 하나의 프로그램을 완성하는 기법을 말한다.


2. 이식성이 높은 언어

이식성이란 서로 다른 실행 환경을 가진 시스템에서 프로그램을 옮겨 실행할 수 있는 것을 의미한다. 자바 언어는 자바 실행 환경(JRE : Java Runtime Environment)이 설치되어 있으면 소스 파일 수정할 필요 없이 모든 운영체제(OS : Operating System)에서 실행이 가능하다. 그리고 이렇게 모든 운영체제에서 실행이 가능한 것을 이식성이 높다고한다.

즉, 자바 언어는 이식성이 높은 프로그래밍 언어이다.


3. 멀티 스레드(Multi-Thread)를 쉽게 구현 가능

여러 작업을 처리하거나 대용량 작업을 빠르게 처리하기 위해 멀티 스레드 프로그래밍이 필요하다. 운영체제에 따라서 스레드를 구현하는 방법이 따르지만, 자바는 스레드 생성 및 제어를 위한 라이브러리 API를 제공하고 있기 때문에 운영체제에 상관없이 멀티 스레드를 쉽게 구현할 수 있다.


4. 동적 로딩(Dynamic Loading)을 지원

자바 애플리케이션는 클래스로 생성된 객체가 서로 연결되어 실행이 된다. 이때 모든 객체가 실행되는 것이 아니라 필요한 시점에서 클래스를 동적 로딩해서 객체를 생성한다. 그리고 완성 후 수정이 필요하더라도 해당 클래스만 수정하면 된다.

따라서 유지보수가 쉽고 빠르다.


5. 풍부한 오픈소스 라이브러리

자바는 풍부한 오픈소스 라이브러리를 가지고 있기 때문에 개발 시간을 단축시키면서 안정성 높은 애플리케이션을 개발이 가능하다.


6. 메모리 자동 관리

자바는 메모리를 직접 관리를 한다. C++ 같은 경우 개발자가 직접 코드를 작성해서 메모리에 생성된 객체를 제거해야 한다. 그렇지 않으면 프로그램이 불완전해지고 다운되는 현상이 일어날 수 있다. 자바는 쓰레기 수집기(Garbage Collector)를 실행시켜 사용되지 않는 객체를 자동적으로 제거시켜준다.

따라서 메모리 관리할 필요 없이 개발만 하면 된다.



+ JVM : Java Virtual Machine

자바 프로그램은 기계어가 아닌 바이트 코드이기 때문에 운영체제에서 바로 실행할 수가 없다. 이것을 해석하고 실행시키기 위해 가상의 운영체제가 필요한데, 그것이 바로 자바 가상 기계(JVM : Java Virtual Machine)이다. JVM은 컴파일 된 바이트 코드 파일(.class)을 해석하고 해당 운영체제에 맞는 기계어로 번역한다.

"Write once, run anywhere"
(한 번 작성하면 어디서든 실행된다.)

위 말처럼 한 번 작성하면 JVM에 의해 어려 운영체제에서 실행이 가능하다는 장점이 있지만, JVM을 통해 기계어로 번역하고 실행되기 때문에, C와 C++보다 속도가 느리다는 단점이 있다.

profile
co_der

0개의 댓글