본문 바로가기
언어 & 라이브러리/자바

[자바] 자바를 사용하는 이유

by illlilillil 2022. 9. 23.

JAVA를 많이 사용하는 이유


객체 지향 언어

자바는 객체 지향 언어로 여러 객체의 협력을 통해 프로그램을 개발한다. 프로젝트를 독립적인 객체 단위로 분리해 작업할 수 있기에 규모가 크더라도 유지보수나 확장성이 좋다.

 

플랫폼에 독립적인 언어

자바는 플랫폼에 영향을 받지 않아 다양한 운영체제 환경에서 제약없이 사용할 수 있다.

 

C언어로 개발한 프로그램이 있을때, prog.c 라는 파일을 만들어 컴파일러가 컴파일 하게 되면 prog.exe가 만들어진다. 이러한 실행 파일은 해당 운영체제에 맞게 제작되었기에 다른 운영체제에서는 실행할 수 없다. 따라서 타 운영체제에 맞는 실행 파일을 만들어야 한다.

그러나 자바는 Prog를 만들어 컴파일하게 되면 Prog.class가 생성된다. 운영체제에 맞는 기계어가 아닌 가상 머신 위에서  돌아가는 컴파일러가 대신 이 일을 해주기 때문에 어떤 환경이더라도 실행이 가능하다.

 

 

자동 메모리 관리

C, C++에서는 OS 레벨의 메모리에 직접 접근하기 때문에 메모리를 프로그래머가 관리하고 해제해주어야 했다.

그러나 자바는 JVM을 통한 간접 접근 방식을 이용한다. 프로그램 실행시 JVM 옵션을 주어 요청한 사이즈만큼의 메모리를 할당받아 실행한다.따라서 자바는 JVM이라는 가상 머신을 사용함으로써 OS 레벨의 메모리 누수가 불가능하다는 장점도 있다.

 

추가적으로 가비지 컬렉션이라는 것이 있다.

프로그래머는 힙을 자유롭게 사용하며, 더이상 사용하지 않는 오브젝트들은 가비지 컬렉션 담당 프로세스가 자동으로 메모리에서 제거하도록 한다. 이 때 Heap 영역의 오브젝트가 Stack에 도달 불가능한 오브젝트들이 가비지 컬렉션 대상이 된다.

 


 

결론, 자바를 왜 사용하나?

1. 객체 지향언어이기에 유지보수 및 확장성이 좋다.

2. 플랫폼에 독립적인 언어이기에 다양한 운영체제 환경에서 제약없이 사용할 수 있다.

3. 자동 메모리 관리 기능으로 프로그래머가 직접 메모리 관리를 하지 않아도 된다.

 

 

 

 

댓글