본문 바로가기
한국으로/JAVA

자바(JAVA) 소개 및 특징

by 영킴. 2018. 7. 1.

자바(JAVA)란?

1) 소개

자바는 1990년 썬 마이크시스템즈(Sun Microsystems, Inc.)의 제임스 고슬링(James A. Gosling)이 개발한 언어이다. 201년 썬 마이크로시스템즈가 오라클(Oracle)에 인수되면서 자바의 저작권은 자연스럽게 오라클이 가져가게 된다.

(2017년 9월부로 Java EE(Java Enterprise Edition)에 한해 이클립스 재단이 소유권을 가지게 되었다.)

TIOBE에서 선정한 프로그래밍 언어 월간 점유율 순위 (2018년 6월 기준)

1. Java

2. C

3. C++

4. Python

5. C#

15.368%
0.88% 증가

14.936%
8.09% 증가

8.337%
2.61% 증가

5.761%
1.43% 증가

4.314%
0.78% 증가

6. VB.NET

7. PHP

8. JavaScript

9. SQL

10. R

3.762%
0.65% 증가

2.881%
0.11% 증가

2.495%
0.53% 감소

2.339%
2.34% 증가

1.452%
0.70% 감소

전년 동월 대비 변화 수치이다. 자세한 내용은 이곳에서 확인할 수 있으며, 기준은 다음과 같다.












2018년 6월 기준 전세계에서 가장 인기있는 프로그래밍 언어이다. 



2) 특징

쉬운 문법

타 언어에 비해 문법이 쉽고 진입 장벽이 낮다.

독립성

자바를 사용해 개발한 응용 프로그램은 JVM(Java Virtual Machin)이라는 가상 서버 위에서 동작한다. 따라서 자바로 만든 프로그램은 운용체제에 관계없이 동작하기 때문에 환경에 따라 재개발할 필요가 없다. 예를 들면, 윈도우 환경에서 개발한 자바 프로그램을 리눅스 서버에서도 운용할 수 있다.

편리성

JVM 위에서는 가비지 콜렉터(Garbage Collector)라는 메모리 관리 프로세스가 동작한다. 따라서 자바를 이용해 프로그램을 개발할 땐 특수한 경우를 제외하고 메모리 관리에 신경쓸 필요가 없다. C,C++와 같은 언어로 프로그래밍할 때는 메모리에 대한 이해와 관리가 필수적이다. 메모리 관리에 실패하면 메모리 누수(Memory Leak)이라는 메모리를 할당하고 반환하지 않아 프로그램이 오작동하는 문제가 발생하기 때문이다. (그리고 자바는 포인터가 없다..!)

객체지향언어

캡슐화(Capsulation), 상속(Inheritance), 다형성(Polymorphism)을 지원한다.

멀티 스레드 프로그래밍 지원

한 개의 프로세스 안에서 여러 개의 스레드를 동작시킬 수 있다. 자바는 멀티 스레드 프로그래밍이 용이하도록 JDK에서 스레드 라이브러리를 제공하고 있다.

오픈 소스 프로젝트

앞서 언급했듯이 자바는 현재 전세계에서 가장 많이 쓰이는 언어 중 하나이다. 따라서 자바를 기반으로 한 오픈 소스 프로젝트도 굉장히 많다.





'한국으로 > JAVA' 카테고리의 다른 글

JVM, JRE, JDK에 대해 알아보자  (0) 2018.07.01