자바란?
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/
'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 |