객체 지향 언어이며, 인터프리터와 컴파일러를 모두 사용합니다.
Javac(Java Compiler)를 이용해 소스코드를 .class 파일로 컴파일 한 후, JVM의 인터프리터에서 바이트코드를 한 줄씩 읽어 실행합니다.
Gabage Collector가 존재하며, 웹 서비스, 백엔드 서버, 안드로이드 앱 개발에 주로 사용됩니다.
절차 지향형 언어로, 코드들이 일련의 순서를 가지고 수행되는 것이 중요합니다.
함수들의 순차적인 진행이 이루어지는 식으로 프로그램이 동작하게 됩니다.
컴파일러 언어이며 호환성이 뛰어나고 Low Level 언어의 특징을 가집니다.
어셈블리어 수준으로 하드웨어를 제어할 수 있기 때문에 임베디드 시스템, 운영체제, 하드웨어 제어 시스템 개발 등에 사용됩니다.
Java의 Garbage Collection과 다르게 개발자가 시스템 자원을 직접 제어해야 합니다.
객체 지향 언어이며, C언어의 문법적 체계를 그대로 계승 후 객체 지향의 개념을 도입한 언어입니다.
C언어와 마찬가지로 컴파일러를 사용하며 타입 체크를 엄격히 하여 런타임 에러의 가능성을 줄였습니다.
인라인 함수의 도입 등으로 실행 시간 호율성 저하를 최소화하는 특징이 있습니다.
객체지향, 스크립트, 인터프리터 언어이며, 동적 타입 언어이고 플랫폼에 독립적입니다.
확장성과 이식성이 높으며 Garbage Collection을 지원합니다.
딥러닝, 빅데이터, AI 개발등에 주로 사용됩니다.