JAVA/개념

자바의 특징과 장점

Tech Signal 2020. 7. 6. 10:20

1. 비교적 배우기 쉬운 객체지향 프로그래밍 언어임

 - 재사용이 쉽고 유지보수가 용이. 그 외에도 연산자와 기본구문은 C++에서, 객체지향관련 구문은 small talk이라는 언어에서 가져와 간결하면서도 명확한 객체지향적 설계를 했다

 

2. 운영체제(Operating System, OS)에 독립적임 (=운영체제의 종류에 관계없이 실행 가능)

 - 자바 응용 프로그램이 운영체제나 하드웨어가 아니라 JVM(Java Virtual Machine)하고만 통신하기 때문. JVM이 해당 프로그램으로부터 전달받은 명령을 해당 OS가 이해할 수 있도록 변환하여 전달함. 이러한 이유로 프로그램은 OS에 독립적이지만 JVM은 OS에 종속적이다. (Write Once, Run Anywhere.)

 

3. 풍부한 클래스 라이브러리(Java API) 보유

 

4. 자동 메모리 관리(Garbage Collection)

- 자바로 작성된 프로그램이 실행되면 가비지 컬렉터(Garbage Collector)가 자동으로 메모리를 관리해줌. 

 

5. 네트워크와 분산처리 지원

- 다양한 네트워크 Java API 보유

 

6. 멀티 쓰레드 지원

- 일반적으로는 OS에 따라 멀티쓰레드 구현방법, 처리방식 등이 다르다. 그러나 자바에서 개발되는 멀티쓰레드 프로그램의 경우 OS에 관계없이 구현이 가능하고 관련 Java API가 제공되어 구현이 쉽다. 여러 쓰레드의 스케줄링(scheduling)은 자바 interpreter가 담당.

 

7. 동적로딩(Dynamic Loading) 지원

- 보통 자바 애플리케이션은 여러 클래스를 가지고 있음. 동적 로딩덕분에 실행 시에 모든 클래스가 로딩되지 않고, 필요한 시점에 로딩하여 사용가능. 일부 클래스가 변경되어도 전체 애플리케이션을 다시 컴파일하지 않아도 된다.

 

 

출처:  자바의 정석 챕터 1.1 ~ 1.3을 읽고 공부하며 정리한 내용입니다.  

https://unsplash.com/photos/dMnQEWXt2b0