새소식

프로그래밍 언어/JAVA

JAVA 기초 - 1. JAVA란?

  • -

JAVA란?


1995년 Sun Microsystems에서 발표하고 현재 Oracle에서 관리하고 있는 객체지향 프로그래밍(OOP) 언어 입니다.

 

출처 : https://www.tiobe.com/tiobe-index/

위의 이미지에서 보듯 인기있는 프로그래밍 언어 중 하나로서 특히 한국에서 많이 사용되어지고 있습니다.

 

 

🔎 특징


자바는 다양한 특징을 가지고 있지만 그 중 알아두면 좋을만한 특징들을 알아봅시다.

 

1. Cross-Platform을 지원

Write Once, Run Anywhere

 

Cross-Platform이란 다양한 플랫폼에서 사용할 수 있는 것을 의미합니다.

자바로 개발된 프로그램은 자바 실행 환경(JRE)만 설치되어 있다면 소스 코드의 변경 없이 다양한 운영체제에서 실행할 수 있습니다.

 

2. 객체 지향 프로그래밍 (OOP) 지원

간단하게 객체지향 프로그래밍이란 프로그램을 개발하는 기법으로 부품인 객체들을 먼저 만들고, 이것을 조립하여 하나의 프로그램을 만드는 방식을 의미합니다. 

자바는 객체지향언어의 특징인 캡슐화, 상속, 다형성 기능을 지원하고 있습니다.

 

3. 메모리 자동 관리

C++의 경우, 메모리에 생성된 객체를 제거하기 위해 개발자가 코드를 직접 작성하여야 합니다. 이런 작업을 놓치게 된다면 메모리에 부하가 걸리게 되고 시스템 전반에 오류가 발생하게 됩니다.

 

자바의 경우, 객체 생성 시 자동으로 메모리 영역을 찾아서 할당하고, 사용이 완료되면 Garbage Collector를 실행시켜 사용하지 않는 객체를 메모리에서 제거합니다.

 

개발자가 직접 메모리를 다룰 필요없이 자동으로 관리를 해주므로 개발자는 메모리를 직접 해제해야하는 문제를 생각하지 않아도 됩니다.

 

4. Multi-Thread 지원

하나의 프로그램에서 여러 작업을 동시에 수행해야하거나 대용량 작업을 빠르게 처리하기 위해서는 병렬 처리를 해야합니다.

이럴 때 Multi-Thread 프로그래밍이 필요한데, 자바에서는 스레드 생성 및 제어와 관련된 라이브러리 API를 제공하므로 쉽게 Multi-Thread를 구현할 수 있습니다. 

 

5. Dynamic Loading 지원

자바는 런타임 시에 필요한 클래스만 로딩하고 객체를 생성하도록 하며, 사용하지 않는 클래스는 로딩하지 않는 클래스 동적 로딩(Dynamic Loading)을 지원하고 있습니다.

이로인해 불필요한 메모리 낭비를 줄이고, 성능을 향상시킬 수 있으며, 프로그램의 유연성을 높일 수 있습니다.

 

또한, 개발 완료 후 유지보수가 발생하더라도 해당 클래스만 수정하면 되므로 전체 애플리케이션을 다시 컴파일할 필요가 없어 유지보수하기 쉽습니다.

 

6. 풍부한 라이브러리 지원

자바는 Open Source 언어이기 때문에 다양하고 수많은 개발자들이 오랜기간 개발한 검증된 라이브러리가 많이 존재하고 있습니다.

이를 이용해 빠르고 안전성이 높은 애플리케이션을 쉽게 개발할 수 있습니다.

 

 

 

출처

이것이 자바다 - 신용권의 JAVA 프로그래밍 정복

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.