IT 개발노트

자바의 특징 본문

기초튼튼/JAVA

자바의 특징

limsungju 2019. 1. 14. 23:27
  1. 자바(Java Programming Language)
    1990년대 초에 JAVA가 탄생하였으나, 일반적으로 사람들이 알게 된 시기는 1990년대 말이다.
    제임스 고슬링이라는 사람이 가전제품의 효율적인 사용을 위한 프로그램 언어로 JAVA를 만들었다.
    하지만, 기존의 C/C++에 비해서 속도가 많이 느려 사람들로부터 외면을 받았다.
    1990년대 말에서 2000년대에 들어오면서 인터넷의 등장으로 JAVA를 외면했던 사람들로부터 관심을 얻기 시작했다.

    - JAVA는 대표적으로 3가지의 플랫폼을 이루고 있다.
    JAVA SE(Stand Edition) : JAVA Application 개발 > 일반적인 어플리케이션 개발
    JAVA ME(Mobile Edition) : 휴대 가능한 소형 디바이스에 사용을 목적으로 개발 > 현재의 스마트폰 등장으로
                                                           쇠퇴
    JAVA EE(Enterprise Edition) : 기업 솔루션 개발 > 가장 핵심

  2. 자바언어의 특징
    2.1 운영체제에 독립적이다.
       Virtual Machine - 운영체제(Windows, Linux, MAC OS)의 영향을 받지 않는다.

    2.2 자동 메모리 관리(Garbage Collection)
       Garbage Collection - 자바로 작성된 프로그램이 실행되면, 가비지컬렉터(garbage collector)가 자동적으로 
      메모리를 관리해주기 때문에 개발자는 메모리 관리를 하지 않는다.

    2.3 객체지향언어이다.
      
    Object Oriented Program(OOP) - 객체지향 언어로 개발과 유지보수를 효율적으로 진행 할 수 있다.
      - 객체지향개념의 특징으로는 상속, 캡슐화, 다형성이 있다.

    2.4 네트워크와 분산처리를 지원한다.
       인터넷과 대규모 분산환경을 염두에 두어 다양한 네트워크 프로그래밍 라이브러리(Java API)를 통해 비교적
      짧은 시간에 네트워크 관련 프로그램을 쉽게 개발할 수 있도록 지원한다.

    2.5 멀티쓰레드를 지원한다.
       일반적으로 멀티쓰레드(multi-thread)의 지원은 사용되는 운영체제에 따라 구현방법도 상이하며, 처리 방식
      도 다르다. 그러나 자바에서 개발되는 멀티쓰레드 프로그램은 시스템과는 관계없이 구현가능하며, 관련된 라
      이브러리(Java API)가 제공되므로 구현이 쉽다. 그리고 여러 쓰레드에 대한 스케줄링을 자바 인터프리터가 담
      당하게 된다.

    2.6 동적 로딩(Dynamic Loading)을 지원한다.
       보통 자바로 작성된 애플리케이션은 여러 개의 클래스로 구성되어 있다. 자바는 동적 로딩을 지원하기 때문
      에 실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다는 장점이 있다.
      그 외에도 일부 클래스가 변경되어도 전체 애플리케이션을 다시 컴파일하지 않아도 되며, 애플리케이션의 변
      경사항이 발생해도 비교적 적은 작업만으로도 처리할 수 있는 유연한 애플리케이션을 작성할 수 있다.

    - 자바의 단점으로는 속도문제가 가장 대표적 것인데 바이트코드(byte code)를 하드웨어의 기계어로 바로 변환해주는 JIT컴파일러와 Hotspot과 같은 신기술의 도입으로 JVM의 기능이 향상됨으로써 속도문제가 상당히 개선되었다.


'기초튼튼 > JAVA' 카테고리의 다른 글

제어문과 루프란?  (0) 2019.01.16
연산자란?  (0) 2019.01.15
기본 자료형과 객체 자료형의 이해  (0) 2019.01.15
변수란?  (0) 2019.01.15
JAVA 프로그래밍 환경설정과 실행방법  (0) 2019.01.15