Java

자바의 특징

M9M9 2020. 9. 13. 00:36

기술 스택을 Java로 바꾸게 되었다.

그래서 Java가 어떤 특징을 가지고 있는지 정리해보겠다.

 

 

1. 객체지향 언어

현대 개발 언어에서 가장 대중적으로 사용하는 객체지향 프로그래밍 언어이다. 

객체지향의 특징인 상속, 캡슐화, 다형성 등이 잘 적용된 순수 객체지향 언어이다.

 

2. 자동 메모리 관리(가비지 컬렉션)

자바는 자동으로 메모리를 관리해주는 '가바지컬렉터'가 존재한다. 

가비지 컬렉터는 프로그래머가 사용하지 않는 메모리를 체크하여 자동으로 반환, 정리해주는 역할을 하고 있다.

하지만 프로그래머의 의도와 다르게 자동으로 메모리를 반환하며 관리해주는 것이 비효율적일 수 있겠지만, 프로그래머가 보다 프로그래밍에 집중할 수 있는 환경을 만들어준다.

 

3. 운영체제에 독립적이다.

 

자바는 운영체제나 하드웨어와 통신하는 것이 아닌 오로지 'JVM' 하고만 통신한다.

그리고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체자가 이해할 수 있도록 변환하여 전달한다.

즉, 자바 응용프로그램은 운영체제로부터 독립적이지만 JVM에게는 종속적이다.

 

JVM이 어떤 것인지에 대해서는 후에 작성하겠다.

 

4. 네트워크와 분산 처리를 지원한다.

풍부하고 다양한 네트워크 프로그래밍 라이브러리를 제공한다. 그러므로 비교적 빠른 시간내에 네트워크 관련 프로그램을 개발할 수 있도록 지원한다.

 

5. 멀티쓰레드

일반적으로 멀티쓰레드의 지원은 사용되는 운영체제에 따라 구현방법도 상이하며 처리하는 방식도 다르다.

하지만 자바에서 개발되는 멀티쓰레드 프로그램은 시스템과는 관계없이 구현 가능하다.(라이브러리가 제공되므로 구현 편리)

그리고 여러 쓰레드에 대한 스케줄링을 자바 인터프리터가 담당하게 된다.

 

6. 동적 로딩을 지원한다.

 

자바의 프로그램은 여러 개의 클래스로 구성되어있다. 

그런데 프로그램 실행 시 모든 클래스가 로딩되는 것이 아닌 클래스가 필요한 시점에 로딩하여 사용할 수 있다. 

 

 

 

 

 

 

참고자료:

제목: Java의 정석 3rd Edition

저자: 남궁성

   

www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788994492032

 

Java의 정석 - 교보문고

자바의 기초부터 객제지향개념을 넘어 실전활용까지 수록한『Java의 정석』. 저자의 오랜 실무경험과 강의한 내용으로 구성되어 자바를 처음 배우는 초보자들의 궁금한 점을 빠짐없이 담고 있��

www.kyobobook.co.kr