[Java] 자바의 특징 및 구조

lkc9898·2022년 5월 14일

Java

목록 보기
1/25
post-thumbnail

자바의 특징

1. 운영체제에 독립적

자바 이전의 언어들은 특정 CPU에만 작동하거나 특정 OS에 따라 다르게 작성해야 하는 언어들이 대부분 이었지만 자바는 개발 환경과 배포 환경이 다르더라도 프로그램을 다시 컴파일 할 필요 없이 실행이 가능하다.

2. 객체 지향 언어 OOP(Object Oriented Programming)

자바에서 모든 기능은 객체로 만들어야 하며, 여러 객체들을 조립하여 하나의 프로그램을 실행하는 개념이 OOP이고, 객체 지향적으로 설계된 프로그램은 코드의 재사용성이 증가하고 유지보수가 용이하다.

3. 자동 메모리 관리

자바에서는 Garbage Collector를 통해 자동으로 사용하지 않는 메모리를 수거하며 이를 통해 개발자가 메모리를 관리하는 수고를 덜고 핵심 코드에 집중할 수 있다. System.gc();로 Garbage Collector를 호출하여 해제할 수도 있다.

4. 함수형 프로그래밍 지원

자바 8버전부터 함수형 프로그래밍을 지원하는 문법인 람다식과 스트림이 추가 되었고, 이를 사용하면 컬렉션의 요소를 필터링, 매핑, 집계 처리하기 쉬워지고 코드가 간결해지는 장점이 있다.

자바의 구조

자바의 컴파일 과정

자바가 운영체제에 독립적이라는 특징이 위 사진같은 구조 덕분에 나올 수 있었고, JVM은 자바 코드로 작성한 프로그램을 해석해 실행하는 별도의 프로그램이다. 자바는 JVM을 거치기 때문에 C나 C++에 비해 속도가 느린 편이지만 JVM 내부의 최적화된 JIT 컴파일러를 통해 속도를 개선해나가고 있다.

0개의 댓글