JAVA

자바란 무엇인가?

달콤한부자 2015. 4. 15. 16:43

 

자바(JAVA)란?

1995년도 처음 썬 마이크로시스템즈에서 자바 언어 발표 지금까지 자바는 성공한 프로그래밍 언어로 전세계적으로

다양한 분야에서 사용되고 있다. 초기 자바는 가전제품에 탑재할 프로그래밍 언어로 개발 되었지만 지금은 스마트

폰을 비롯하여 각종 장비와 데스크톱에서 실행되는 애플리케이션, 금융, 공공, 대기업등의 엔터프라이즈 기업환경에서 실행되는 서버 애플리케이션을 개발하는 중추적인 언어로 자리 매김하고 있다.

 

자바의 특징

1. 이식성이 높은 언어

- 이식성이란? 서로 다른 실행 환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있는 것을 말한다.

   다시말에 윈도우에서 실행하는 프로그램을 리눅스 또는 유닉스에서 실행 할 수 있다면 이식성을 높다고 말할 수 있

   으며 실행 할 수 없다면 이식성이 낮다 볼 수 있다.( JRE: JAVA Runtime Environment 가 설치되어 있는곳이면 모

   든 운영체제에서 실행 가능)

 

2. 객체지향 언어

- 프로그램을 개발하는 기법으로 부품에 해당하는 객체를 먼저 만들고, 이것들을 하나씩 조립 및 연결해서 전체 프로

  그램을 완성하는 기법을 객체 지향 프로그래밍(OOP: Object Oriented Programming) 이때 사용되는 언어를 객체

  지향 언어라 한다.

 

3. 함수적 스타일 코딩지원

 - 자바는 함수적 프로그래밍을 위해 람다식을 자바 8부터 지원 람다식을 사용하면 컬렉션의 요소를 필터링, 매핑,

    집계 처리하는데 쉬어지고, 코드가 매우 간결하다.

 

4. 메모리를 자동으로 관리

- 자바는 개발자가 직접 메모리에 접근할 수 없도록 설계되었으며, 메모리는 자바가 직접관리 한다.

 

5. 다양한 애플리케이션을 개발할 수 있다.

 

6. 멀티 스레드(Multi-Thread)를 쉽게 구현할 수 있다.

- 자바는 스레드 생성 및 제어와 관련 라이브러리 API를 제공하고 있기 때문에 실행되는 운영체제에 상관없이 멀티   

스레드를 쉽게 구현 할 수 있다. 

 

1개의 응용 프로그램스레드(thread)로 불리는 처리 단위를 복수 생성하여 복수의 처리를 병행하는 것. 즉, 응용 프로그램 내에서의 다중 작업(multitasking) 처리를 말한다. 다중 작업과 같이 중앙 처리 장치(CPU)의 처리 시간을 매우 짧은 단위로 분할하여 복수의 스레드에 차례로 할당함으로써 복수의 처리가 동시에 이루어지는 것처럼 보인다.

[네이버 지식백과] 멀티 스레드 [multi-thread] (IT용어사전, 한국정보통신기술협회)

7. 동적 로딩을 지원

 

8. 막강한 오픈소스 라이러리가 풍부하다.

- 자바는 오픈소스 언어기 때문에 오픈소스가 넘처난다. 고급 기능을 구현하는 코드를 직접 작성할 경우, 시관과 노력이 필요하고, 실행 안정성을 보장할 수 없지만, 검증된 오픈소스 라이브러리를 사용하여 개발 기간 단축 및 안전성 높은 애플리케이션을 쉽게 개발 할 수 있다.