랩터
[JAVA] 자바의 특징 본문
1. 운영체제에 독립적
자바 이전의 언어들은 특정 CPU에서만 작동하거나 특정 OS에 따라 다르게 작성해야 하는(C, C++) 언어들이 대부분이었습니다. 자바는 이 문제를 해결하고자 JRE(Java Runtime Environment: JVM(자바 가상머신) + 표준 클래스 라이브러리)가 설치되어 있는 모든 운영체제에서 실행이 가능하도록 만들어졌습니다.
2. 객체 지향 언어(Object Oriented Programming, OOP)
자바는 객체 지향 프로그래밍 개념을 사용하는 언어입니다. 따라서 모든 기능은 객체로 만들어 사용해야 합니다. 객체는 프로그램이 동작하는 부품이라고 생각하면 됩니다. 여러 부품(객체)들을 만들고 조립하여 하나의 프로그램을 실행하는 개념이 OOP입니다. 객체 지향적으로 설계된 프로그램은 유지보수가 쉽고 확장성이 높습니다. OOP에 대해서는 이후 자바 클래스를 다루면서 보다 세밀하게 살펴보겠습니다.
3. 함수형 프로그래밍 지원
자바 8버전부터 함수형 프로그래밍을 지원하는 문법인 람다식과 스트림이 추가되었습니다. 이를 사용하면 컬렉션의 요소를 필터링, 매핑, 집계 처리하기 쉬워지고 코드가 간결해지는 장점이 있습니다. 람다식, 스트림에 대해서는 심화 유닛에서 자세히 다룹니다.
4. 자동 메모리 관리(Garbage Collection)
자바는 96년에 발표된 언어이고 C++를 개선하는 것 또한 여러 목표 중의 하나였습니다. 그래서 자바는 자동으로 메모리를 관리해 주는 기능을 추가했습니다. C, C++의 경우 메모리의 생성과 소멸을 개발자가 직접 설계해야 했지만, 자바는 가비지 컬렉터(Garbage Collector)를 실행시켜 자동으로 사용하지 않는 메모리를 수거합니다. 이를 통해 개발자는 메모리를 관리하는 수고를 덜고 핵심 코드에 집중할 수 있게 되었습니다.
'공부 > JAVA' 카테고리의 다른 글
[Network] 네이티브 애플리케이션 vs 웹 애플리케이션 (0) | 2024.06.11 |
---|---|
[JAVA] 구구단 프로그램(제어문 및 반복문) (0) | 2024.06.10 |
[JAVA] Windows 개발 환경 세팅 (0) | 2024.06.06 |
[Java] 메서드 오버라이딩 (0) | 2024.04.18 |
[Java] 포함 관계 (0) | 2024.04.17 |