독립적 (플랫폼에 영향을 받지 않으므로 다양한 환경에서 사용할 수 있다)
자바는 write once, run anywhere 이라는 슬로건이 있을 만큼 특정 플랫폼에 종속되지 않는 프로그램을 개발하여 여러 플랫폼에서 실행 가능합니다. 여러 플랫폼에서 실행 가능하다라는 말은 이런 겁니다.
윈도우 운영체제에서 C 언어로 개발한 프로그램이 있다고 하면 이 실행파일은 윈도우 운영체제에 맞게 만들어졌기 때문에 리눅스 운영체제에서는 실행할 수 없습니다. 리눅스 환경에서 실행하려면 리눅스 환경에서 다시 컴파일해서 리눅스 운영체제에 맞는 실행 파일을 새로 만들어야 합니다.
하지만 자바에서는 프로그램을 작성하고 난 후 컴파일하면 .class 라는 확장자를 가진 파일이 생성됩니다. 이 파일을 바이트 코드라고 하는데 완벽한 실행 파일이 아닙니다. 중간 기계어로, 운영체제에서 바로 실행하는 것이 아니라 JVM 자바 가상 머신이 먼저 실행하여 운영체제에 맞는 완벽한 실행 파일로 바꿔 줍니다. 즉, .class 확장자를 가진 파일을 만들어 두면 운영체제에 맞는 JVM 자바 가상 머신을 이용하여 어느 환경에서나 실행할 수 있습니다.
객체지향 (객체 지향 언어이기 때문에 유지보수가 쉽고 확장성이 좋다)
객체 지향 프로그래밍이란 프로그래밍의 원초적인 작동 방식인 '순서대로 동작'한다를 기반의 한계점을 뛰어넘어 여러 객체의 협력을 통해 프로그램을 구현하는 것을 의미합니다. 객체 지향 언어의 가장 큰 특징은 공통으로 사용하는 부분을 수정하지 않고도 프로그램에 새 기능을 쉽게 추가할 수 있기 때문입니다.
예를 들어, 나의 본 프로그램에 타이핑 기능이 없다면, 타이핑 기능이 있는 객체를 가져오기만 하면 손쉽게 기능 추가가 가능하다는 것입니다.
따라서 객체 지향 언어로 프로그램을 잘 설계하면 유지보수가 쉽고 확장성이 좋습니다.
안정성
자바는 C와 같은 언어에서 제공하는 포인터를 사용하지 않아 메모리를 직접 제어할 수 없습니다. 이것에는 장단점이 있는데, 일단 중요한 것은 메모리를 직접 제어하면 오류가 발생하기 매우 쉽습니다. 이러한 위험성이 없으므로 훨씬 안정된 코드를 만들 수 있습니다. 또한 동적 메모리 수거를 프로그래머가 하지 않고 가비지 컬렉터를 이용하므로 메모리를 효율적으로 관리할 수 있습니다.
오픈소스
자바의 가장 큰 장점은 방대한 오픈소스가 있다는 것입니다. 프로그램을 처음부터 모두 개발하는 것은 매우 힘든 일입니다. 하지만 자바에는 기본적으로 제공되는 클래스들 뿐만 아니라 자바 개발 키트 JDK와 다양한 오픈소스들이 있어서 훨씬 다양한 기능을 손쉽게 가져와서 내가 원하는 프로그램을 만들 수 있습니다.
'[그린컴퓨터] Server > JAVA(기본)' 카테고리의 다른 글
변수 이름 정하는 규칙 {제약사항} (0) | 2023.05.09 |
---|---|
변수란 무엇일까? {변수, 변수선언, 변수 초기화} (0) | 2023.05.09 |
eclipse {자동완성, 자동들여쓰기(auto format)} (0) | 2023.05.09 |
첫 프로그램 만들기 {프로젝트 컴파일 과정, 수동으로 컴파일하고 실행하기} (0) | 2023.05.09 |
첫 프로그램 만들기 {워크스페이스 바꾸기, 작업폴더 만들기, 패키지 생성하기, 클래스 생성하기, 프로젝트 실행하기} (0) | 2023.05.09 |