자바란? 

 

1. 이식성이 높은 언어

- 이식성(서로 다른 실행 환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있는 것)

 

2. 객체지향 언어

- OOP(Object Oriented Programming) 객체지향 프로그래밍 : 프로그램을 개발하는 기법. 객체들을 먼저 만들고 객체들을 하나씩 연결해서 전체 프로그래밍을 완성하는 기법

- 자바 : 객체 생성 = 클래스(설계도) 작성

- 캡슐화, 상속, 다형성 기능 완벽 지원 

 

3. 함수적 스타일 코딩 지원

- 대용량 데이터의 병렬 처리에 적합

- 람다식(Lambda Expressons) 지원 

- 람다식 사용 : 컬렉션 요소를 필터링, 매핑, 집계 처리하는데 쉬워지고 코드 간결해짐

 

4. 메모리를 자동 관리

- C++ : 메모리에 생성된 객체를 제거하기 위해 개발자가 직접 코드작성(미작성시 프로그램 불완전, 다운되는현상 발생)

- 자바: 직접 메모리관리 - 사용하지 않는 객체 제거

 

5. 다양한 애플리케이션 개발 가능

- 윈도우, 리눅스, 유닉스, 맥, 등 다양한 운영체제(OS: Operating System)에서 실행되는 프로그램 개발가능

- 에디션(Edition) : 개발도구 + API

 

6. 멀티 스레드(Multi-Thread)를 쉽게 구현 가능

- 서브작업으로 분리해서 병렬 처리 -> 멀티스레드 프로그래밍

 

7. 동적로딩(Dynamic Loading)

- 유지보수(수정)가 쉽고 빠르게 진행

- 객체가 필요한 시점에 클래스를 동적로딩해서 객체 생성 ->  유지보수 발생시 해당 클래스만 수정

 

8. 막강한 오픈소스 라이브러리가 풍부함

- 고급기능을 구현하는 코드를 직접 짜지 않아도 됨

 

자바 가상 기계 (JVM: Java Virtual Machine)

- 실 운영체제를 대신해서 자바 프로그램을 실행하는 가상의 운영체제 역할

- 운영체제와 자바프로그램을 중계 -> 자바 프로그램이 여러 운영체제에서 동일한 실행결과가 나옴

- JVM 운영체제에 종속적 

- .java인 소스파일 작성 -> javac.exe(컴파일러)로 컴파일 -> 확장자가 .class인 바이트코드파일  생성

   -> java.exe(JVM 구동 명령어)에 의해 JVM에서 해석, 해당운영체제에 맞게 기계어로 번역

 

API 도큐먼트 

- JDK에서 제공하는 표준 클래스 라이브러리

https://docs.oracle.com/javase/8/docs/api/

 

Java Platform SE 8

 

docs.oracle.com

 

'Programming Language > Java' 카테고리의 다른 글

[JAVA] 연산자- 단항연산자  (0) 2020.05.26
[JAVA] 타입변환  (0) 2020.05.25
[JAVA] 데이터 타입  (0) 2020.05.21
[JAVA] 변수  (0) 2020.05.21
[JAVA] 명령프롬프트에서 java 실행  (0) 2020.05.21

+ Recent posts