자바는 1990년대에 세상에 나왔을 때의 단순한 언어에서 끊임없이 업데이트되고 발전하였다. 자바는 현재 프로그래밍 언어의 왕좌를 차지하고 있는만큼 IT업계로의 진출을 꿈꾸고 있다면 꼭 익혀야 하는 언어이다. 자바가 전 세계 사용 1위 언어가 된 데에는 다음의 중요한 특징들이 작용했다.
1. 어디서든 실행되는 편리함
윈도우에서 C언어를 사용하여 프로그램을 개발하고 컴파일하여 .exe 확장자의 실행파일을 만들었다. 만약 이 실행파일을 리눅스나 Mac OS와 같은 다른 운영체제에서 실행을 하려면 코드를 다시 운영체제의 컴파일러를 사용해 실행파일을 만들어야 한다.
그러나 Java는 컴파일 하면 .class 확장자의 파일이 만들어지는데, 이 .class 파일을 '바이트 코드' 라고 부른다. 바이트 코드는 JVM(Java Virtual Machine)이 설치되어있으면 어떤 운영체제의 실행환경에서 바로 실행시킬 수 있다. 이는 무척 편리한 기능이다.
JVM은 자바 가상머신이라고 하며 자바의 바이트 코드를 실행시켜주는 가상환경 소프트웨어이다. JRE(Java Runtime Environment)라고 하는 자바 실행환경에서 돌아간다.
2. 객체지향으로 인한 쉬운 유지보수와 확장성
C언어는 절차지향적 언어이다. 프로그램이 코드의 순서를 따라가며 실행이 된다.
Java와 같은 객체지향 언어는 절차지향 언어와는 다르게 필요한 기능들을 각각 모듈화 시켜 따로 관리한다. 가령 Java를 사용해서 홈페이지를 만든다면 로그인,로그아웃의 기능을 하나의 객체로 만들어놓고 화면을 띄우는 것을 하나의 객체로 만드는 등의 방식으로 프로그래밍 한다.
따라서 어떠한 부분이 수정되어야 할 경우 그 모듈의 코드를 수정하면 그 부분의 기능을 손쉽게 수정 가능하다. 또한 새로운 기능을 추가할 때에도 새로운 객체를 생성하면 되고 기존의 기능을 확장하려하면 그 객체 부분을 수정하거나 상속, 다형성 등의 Java 기능을 사용해서 쉽게 할 수 있다. 따라서 Java 프로그램은 유지보수가 쉽고 확장성이 좋다.
3. 손쉬운 메모리 관리에 의한 안정성
C언어나 C++등은 '포인터'라는 문법을 제공하는데, 이 포인터를 사용하면 프로그래머가 직접 메모리를 관리할 수 있다.
하지만 Java에서는 이러한 메모리에 접근하는 기능을 지원하지 않는다. 따라서 사용자가 메모리에 잘못된 접근을 하는 것을 미연에 방지할 수 있다. 또한 가비지 컬렉터(Garbage Collector)를 지원하여 사용하지 않는 메모리 수거를 알아서 해준다. C나 C++에서는 프로그래머가 직접 사용하지 않는 동적 메모리를 해제하여야 한다.
4. 풍부한 오픈소스 라이브러리
Java는 프로그래밍 언어의 왕좌를 지키고 전세계적으로 사용자가 아주 많은 만큼 이미 최적화된 알고리즘, 오픈소스 라이브러리 등이 매우 풍부하다. 중요한 라이브러리를 제공하는 JDK(Java Development Kit)라는 자바 개발키트를 적절하게 사용하여 빠르고 생산적인 프로그램 개발이 가능하다.
'프로그래밍 언어 > Java' 카테고리의 다른 글
(Java) 5 - 자료형(3) - 형 변환 (0) | 2020.05.17 |
---|---|
(Java) 4 - 자료형(2) - 상수와 리터럴 (0) | 2020.05.17 |
(Java) 3 - 자료형(1) - 정수와 실수 (0) | 2020.05.17 |
(Java) 2 - 변수와 자료형 (0) | 2020.05.17 |
(Java) 0 - 프로그래밍 언어란 (0) | 2020.05.17 |