자바는 기존의 언어들과는 매우 다른 독특한 언어입니다.
프로그래밍 언어는 크게 절차지향과 객체지향으로 나눌 수 있는데 절차지향언어 중 대표적인 것이 바로 C언어입니다. 반면, Java는 부품들에 해당하는 객체들을 생성해 이를 조립, 연결해 만들어나가는 기법을 사용하는데 이것이 객체지향언어입니다.
Java 언어로 개발된 프로그램은 소스파일의 수정 없이도, 자바 실행 환경이 설치되어 있는 모든 운영체제에서 실행 가능합니다.
Java에서는 개발자가 메모리에 직접 접근할 수 없도록 설계되었으며 Java가 직접 메모리를 관리해줘 객체 생성시 자동적으로 메모리 영역을 찾아 할당해 훨씬 간편합니다.
자바는 객체지향 언어의 캡슐화의 원칙을 잘 지키기 때문에 변수나 메서드는 반드시 클래스 내에 구현해야합니다. 클래스 안에 새로운 클래스, 즉 내부 클래스를 생성해야만 합니다.
자바는 한번 작성되어 컴파일되면 JVM만 있으면 언제 어디서든 실행이 가능합니다.