- A Simple
- Object-oriented
- 객체 지향적이다
- 숫자, 논리값(원시자료형)을 제외하면 거의 객체로 구성된다
-
distributed
-
interpreted
- 인터프리터 언어이다
- 정확히 말하면 컴파일 언어와 동시에 인터프리터 언어이다
- 먼저 텍스트 소스를 컴파일해 클래스 파일로 만들고, 이 클래스 파일을 인터프리트하며 실행한다
- 시스템과 무관한 이진 파일을 먼저 만듦으로써 컴파일 언어에 가까운 속도와 함께 시스템 독립성도 얻을 수 있다
- 인터프리터는 코드를 한 줄씩 작성하고 실행해 결과를 바로 확인 가능
- robust
- 강력하다
- 포인터 연산을 지원하지 않아 모든 메모리 접근을 자바 시스템이 관리하고 제한함
- 예외처리도 자바 시스템에서 진행해 시스템 붕괴의 우려가 없음
- secured
- 안전하다
- 자료형 체크를 섬세하게 한다
- 컴파일만 되면 실행할 때 오류 발생률이 다른 언어에 비해 현저히 낮다
-
architecture neutral
-
portable
-
high-performance
-
platform independent
- 플랫폼이 독립적이다
- 실행파일이 이진코드이므로 자바 런타임을 설치한 시스템이 있다면 어디서나 실행 가능함
- multi-threaded
- 프로그램 단위가 같은 스레드를 동시에 실행할 수 있음
- dynamic language
- 동적이다
- 인터페이스를 이용하면 모듈을 갱신할 때 다른 모듈까지 모두 갱신할 필요가 없음
- 인터페이스가 인스턴스 변수와 도구의 실행문을 모두 배제한 채 객체간의 상호작용을 정의하기 때문