-
JAVA 특징 정리프로그래밍 공부/JAVA 2021. 7. 6. 15:22
자바 언어의 특징
1. 자바는 단순하다
- C언어(절차지향 언어)와 C++언어(객체요소 포함)의 복잡한 기능을 제외하여 코드를 단순하게 작성할 수 있다.
*제외된 복잡한 기능: C++의 전위처리, 포인터 사용, 다중 상속, 구조체, goto문 사용, 연산자 중복 기능 등등
- 가비지 컬렉터(Garbage Collector)에 의한 자동 메모리 관리로 할당된 메모리 해제를 신경 쓰지 않아도 된다.
2. 자바는 객체지향(Object-Oriented)적이다.
-> 언어라는 객체를 사용해서 프로그램을 작성하도록 하는 언어
- 객체지향을 하게 되면 재사용성을 높일 수 있다.
3. 분산 처리(Distributed)에 용이하다.
- 분산 환경에서 TCP/IP 등의 프로토콜을 통해 효율적으로 실행할 수 있도록 설계된 언어이다.
- 서로 다른 컴퓨터 상의 객체들도 원격으로 호출하여 실행할 수 있는 원격 메서드 호출과 관련된 RMI 기능의 라이브러리를 제공한다.
4. 자바는 인터프리터(Interpreter)에 의해 실행된다.
- 자바는 컴파일 언어임과 동시에 인터프리터 언어이다.
5. 자바는 견고(Robust)하다.
- 다양한 플랫폼 상에서 실행되기 위해 에러의 원인이 되는 요소들을 제거하거나 자동으로 해결한다.
=> 포인터 사용 x, 가비지 컬렉션, 엄격한 데이터 타입의 검사, 실행 시간에 발생하는 에러를 처리
6. 자바는 안전(Secure)하다.
- 컴파일 시 엄격하게 데이터 타입을 검사함으로써 프로그램 실행 시 발생할 수 있는 비정상적인 상황을 미리 방지한다.
=> 클래스 로더(코드 분리)와 바이트 코드 검증기(코드 검증)
7. 자바는 플랫폼 독립적(Architecture Neutral)이다.
- 사용하는 운영체제나 CPU등의 하드웨어 사양에 관계없이 실행될 수 있다.
- 자바 컴파일러에 의해 번역된 자바 바이트 코드는 각 컴퓨터에 설치된 자바 가상 머신에 의해 실행된다. (높은 이식성)
8. 자바는 높은 성능을 제공한다.
- 가비지 컬렉션 기능이 추가되어 있어 자동으로 메모리 관리가 가능 -> 불필요한 메모리 낭비 방지
9. 자바는 멀티스레드(Multithread)를 지원한다.
10. 자바는 동적(Dynamic)이다.
- 기존의 프로그램에 영향을 주지 않고, 라이브러리에 새로운 메서드나 속성들을 추가할 수 있다.
- 프로그램과 프로그램에서 사용되는 라이브러리와의 연결을 실행시간에 수행한다. => 라이브러리의 변화를 곧바로 적용할 수 있다.
'프로그래밍 공부 > JAVA' 카테고리의 다른 글
[JAVA] I/O BufferedReader와 StringBuilder (0) 2021.03.24 [JAVA] 정렬(Sorting) (0) 2021.03.08 [JAVA] 형변환 (0) 2021.03.06 [JAVA] Collection 자료구조 정리 (0) 2021.03.04