자바 (Java)
- 객체 지향 프로그래밍 언어
- 1995년 썬 마이크로시스템즈 에서 발표
- 초기에는 작은 장치에서 실행되는 프로그램을 위해 설계
- 현재는 다양한 플랫폼에서 사용되는 범용 프로그래밍 언어로 성장
Java의 특징
# 객체 지향 프로그래밍(OOP, Object Oriented Programming)
- 클래스와 객체를 기반
- 코드의 구조를 객체로 추상화하여 코드의 재사용성, 유지보수성, 확장성을 높여줌
- 상속, 캡슐화, 다형성과 같은 개념을 포함
# 플랫폼 독립성
- "Write Once, Run Anywhere" 라는 슬로건에 따라 작성된 코드가 플랫폼에 독립적
- 한 번 작성한 자바 프로그램은 어떤 운영체제나 하드웨어 환경에서도 실행 가능 (JVM만 있으면)
# 가비지 컬렉션
- 가비지 컬렉션이 동적으로 할당된 메모리를 관리
- 프로그래머가 메모리를 수동으로 할당하고 해체할 필요가 없음
- 사용되지 않는 객체를 자동으로 탐지하고 해제하여 메모리 누수를 방지
# 멀티스레딩 지원
- 여러 작업을 동시에 처리 가능
- 병렬성을 활용하여 프로그램의 성능을 향상
- Thread 클래스나 Runnable 인터페이스를 사용하여 스레드를 생성하고 관리
# 동적 로딩
- 자바는 클래스 파일이 실행 시간에 동적으로 로딩되는 특성을 가지고 있음
- 메모리 사용 최적화 가능
- 모듈화와 유연한 설계를 가능하게 함
# 네트워크 및 분산 처리 지원
- 자바는 네트워크 및 분산 환경에서 프로그래밍하기 쉽도록 설계됨
- 이는 웹 애플리케이션, 소켓 통신 등과 같은 네트워크 기능을 쉽게 구현할 수 있게 해줌
- 'java.net' 패키지와 RMI(Remote Method Invocation) 등을 통해 네트워크와 분산 환경에서 프로그래밍 가능
# 강력한 라이브러리 지원
- 다양한 표준 라이브러리와 프레임워크를 제공
- 개발자가 효율적으로 프로그램을 개발할 수 있도록 도와줌
- 대표적인 라이브러리로는 Java Collection Framework, JavaFX, JDBC(Java Database Connectivity) 등이 있음
# 프로그래밍(Programming)
- 프로그램을 만드는 일
- 명령어 모음을 만드는 일
- 소프트웨어를 만드는 과정
# 프로그램(Program)
- 컴퓨터에게 내리는 명령어의 모음
- 프로그램이 모여서 소프트웨어가 됨
'언어(Language) > Java' 카테고리의 다른 글
[Java] this 키워드 (18) | 2023.08.02 |
---|---|
[Java] 형변환 (Type conversion) (20) | 2023.07.28 |
[Java] 변수 (24) | 2023.07.27 |
[Java] 제어문 : 조건문과 반복문 (if, switch, for, while) (32) | 2023.07.26 |
[Java] 상수와 리터럴 (30) | 2023.07.25 |