-
JAVA | JAVA란?programming/JAVA 2020. 5. 13. 22:57
자바의 특징
1. 이식성이 높은 언어
- 이식성이란?
서로 다른 실행 환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있는 것을 말한다.
* ex) 윈도우에서 실행하는 프로그램을 리눅스 또는 유닉스에서 실행 가능
자바 실행 환경(JRE: Java Runtime Environment)이 설치되어 있다면 모든 운영체제에서 실행 가능2. 객체 지향 언어
- 객체 지향 언어란?
프로그램을 개발하는 기법으로 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립 및 연결해서
전체 프로그램을 완성하는 기법을 객체 지향 프로그래밍(OOP : Object Oriented Programming)이라고 한다.
이때 사용 되는 언어를 객체 지향 언어라고 하는데 JAVA는 객체 지향 언어 이다.
- JAVA는 객체 지향 언어가 가져야 할 캡슐화, 상속, 다형성 기능을 완벽하게 지원한다.
3. 함수적 스타일 코딩을 지원
4. 메모리를 자동으로 관리
5. 다양한 애플리케이션을 개발할 수 있다.
-자바는 다양한 운영체제에서 사용할 수 있는 개발 도구와 API를 묶어 에디션(Edition)형태로 정의하고 있다.
* Java SE(Standard Edition) - 기본 에디션
: Java SE는 자바 프로그램들이 공통적으로 사용하는 자바 가상 기계 (JVM : Java Virtual Machine)를 비롯해서
자바 프로그램 개발에 필수적인 도구와 라이브러리 API를 정의한다.
클라이언트와 서버 프로그램에 상관없이 자바 프로그램을 개발하고 실행하기 위해서는 반드시 Java SE구현체인
자바 개발 키트(JDK : Java Development Kit) 를 설치해야 한다.
* 자바 가상 기계 (JVM : Java Virtual Machine)
: 운영체제는 자바 프로그램을 바로 실행할 수 없다. 왜냐하면 자바 프로그램은 완전한 기계어가 아닌 중간 단계의 바이트 코드이기 때문에
이것 을 해석하고 실행할 수 있는 가상의 운영체제가 필요하다. 그것이 바로 자바 가상 기계 (JVM : Java Virtual Machine)
운영체제별로 프로그램을 실행하고 관리하는 방법이 다르기 때문에 운영체제별로 자바 프로그램을 별도로 개발하기 보다는
운영체제와 자바 프로그램을 중계하는 JVM을 두어 자바 프로그램이 여러 운영체제에서 동일한 실행 결과가 나오도록 설계한 것이다.
- JVM은 운영체제에 종속적이기 때문에 운영체제에 맞게 설치되어야 한다.- JVM은 JDK 또는 JRE 를 설치하면 자동으로 설치가 된다.
6. 멀티 스레드를 쉽게 구현할 수 있다.
- 하나의 프로그램이 동시에 여러 가지 작업을 처리해야 할 경우와 대용량 작업을 빨리 처리하기 위해
서브 작업으로 분리해서 병렬 처리 하려면 멀티 스래드 프로그래밍이 필요하다.
7. 동적 로딩을 지원한다.
- Java 어플리케이션은 여러 개의 객체가 서로 연결되어 있는데, 이 객체들은 클래스로부터 생성된다.
어플리케이션이 실행될 때 모든 객체가 생성되지 않고, 객체가 필요한 시점에 클래스를 동적로딩해서 객체 생성
-> 개발 완료 후 수정이 필요하더라도 해당 클래스만 수정하면 되므로 유지보수를 쉽고 빠르게 진행가능
8. 막강한 오픈소스 라이브러리가 풍부하다.
참고자료 - 이것이 자바다
'programming > JAVA' 카테고리의 다른 글
JAVA | 상속(Inheritance) (0) 2020.05.21 JAVA | 접근 제한자 (public, protected, default, private) (0) 2020.05.21 JAVA | 싱글톤 패턴 (Singleton Pattern) (0) 2020.05.20 JAVA | 클래스 구성(필드, 생성자, 메소드) (0) 2020.05.16 JAVA | 객체 지향 프로그래밍(OOP : Object Oriented Programming) (0) 2020.05.15