[JAVA] 자바 언어의 특징?

PiggPotato·2023년 7월 20일
0

자바

목록 보기
1/7

1. 운영체제에 독립적
기존의 언어는 한 운영 체제에 맞게 개발되어 해당 운영체제에 종속적이다. 따라서 다른 종류의 운영체제에 적용하기 위해서는 많은 노력이 필요하다. 하지만 자바로 작성된 프로그램은 JVM이 설치되어 있는 운영체제라면 실행되기 때문에 그런 노력을 필요로 하지 않는다.

  • 반대로 자바로 작성된 프로그램은 운영체제에 독립적이지만 JVM은 운영체제에 종속적이며 실행되기 위해서는 반드시 JVM이 필요하다고 할수 있다.

2. 객체지향언어
자바는 객체지향 프로그래밍언어(Object Oriented Programming)중의 하나로 C언어에 객체 지향적 기능을 추가하여 만든 C++과 달리, 처음부터 객체 지향 언어로 개발되어 객체지향 개념의 특징인 상속, 캡슐화, 추상화, 다형성이 잘 적용된 순수한 객체지향 프로그래밍 언어이다.

3. 자동 메모리 관리
다른 언어의 경우(C/C++) 메모리 관리는 프로그래머의 책임으로 메모리를 재사용 하기 위해서는 프로그래머가 사용하지 않는 메모리를 체크하고 반환하는 일을 수동적으로 처리해야 한다. 그러나 자바는 메모리 관리에서 자유롭다. 직접 메모리를 관리 하지 않고 JVM을 통해 관리 된다. 사용하지 않는 메모리를 가비지 컬렉터(Garbage Collector)를 통해 회수한 다음 해제해 준다. 이는 메모리 관리에 수고를 덜고 프로그래머가 프로그래밍에 집중하게 해준다.

4. 멀티쓰레드 지원
일반적인 멀티쓰레드의 지원은 운영체제에 따라 구현방법과 처리 방식은 다르다. 다른 언어의 경우(C/C++) 운영체제의 도움을 받아 멀티쓰레드를 수행한다. 그러나 자바는 멀티쓰레드 프로그램을 운영체제의 도움 없이 구현 가능하며, 관련 라이브러리가 제공되므로 구현이 쉽다.

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

profile
초보 개발자 입니다.

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

글이 많은 도움이 되었습니다, 감사합니다.

답글 달기