객체지향 프로그래밍 (OOP:Object Oriented Programming)언어 다중 스레드를 지원. 포인터제거 및 자동메모리관리 (Garbage Collection), 동적로딩(dynamic loading) 지원
또한 다양한 운영체제에서 동작할 수 있도록 자바가상머신(JVM: Java Virtual Machine)이 제공된다.
현실 세계에는 많은 객체들이 존재하고, 그 객체들 간 에는 서로 특별한 관계로 맺어져있다. 이러한 개념들을 가상 세계 인 프로그래밍에 적용 시켜서 개발 하는 방법론을 ‘객체 지향 프로그래밍 기법’이라고한다.