1. 자바의 개요

- 1995년 썬마이크로시스템즈가 출시한 자바는 다양한 플랫폼에서 사용할 수 있는 객체지향 프로그래밍 언어
- 처음에는 가전제품에 탑재되어 동작하는 프로그램을 위해 개발되었지만, 지금은 웹 애플리케이션 개발에 가장 많이 사용하는 언어 가운데 하나
- 자바 프로그래밍 언어는 C 및 C++ 프로그램 언어와 유사하나 고급 기능과 단순화된 기능을 갖춘 객체지향 언어이면서 모든 플랫폼에 독립적이므로, 특정 하드웨어나 운영체제에 제한 없이 실행되는 프로그램을 작성할 수 있음
2. 자바를 배워야 하는 이유
- 자바 외에도 C, C++, 파이썬 등 다양한 프로그래밍 언어 있음
1) 자바는 현재 가장 널리 사용되는 프로그래밍 언어 중 하나입니다
-
- 오라클에 따르면 30억 개의 장치에서 자바를 실행 중
- 안드로이드 앱도 자바를 사용하여 개발
- 모바일 앱의 수요가 증가함에 따라 자바는 프로그래머가 되고자 한다면 반드시 배워야 할 필수 언어
2) 자바의 구문과 기능은 C, C++ 등의 프로그래밍 언어와 유사합니다
-
- 이전에 프로그래밍 경험이 있다면 자바를 쉽게 배울 수 있음
- 자바는 프로그래밍을 처음 접하는 경우라도 비교적 배우기 쉬운 언어
- 대부분의 프로그래머는 C 또는 C++보다 자바를 배우는 것이 더 쉽다고 생각
3) 자바는 플랫폼에 독립적입니다
-
- 자바 코드는 먼저 바이트코드로 컴파일되며 자바 가상 머신이 있는 모든 시스템에서 실행 가능
- 자바를 사용하면 코드를 한 번만 작성하고 원하는 곳에서 실행할 수 있음
4) 자바는 객체지향 프로그래밍 언어입니다
-
- 객체지향 프로그래밍은 프로그래밍 문제를 서로 상호 작용하는 객체로 분해하는 프로그래밍 접근방식
- 프로그램 구성상 실제 세계의 객체와 쉽게 연결 가능
3. 자바 애플리케이션 유형

- 자바를 이용하여 만들 수 있는 애플리케이션의 유형으로는 독맂 실행형 애플리케이션, 웹 애플리케이션, 앤터프라이즈 애플리케이션, 모바일 애플리케이션, 빅데이터 기술이 있다
1) 독립 실행형 애플리케이션
- 파일 프로세스를 추가하지 않고 별도의 컴퓨터 프로세서에서 실행되는 프로그램
- AWT, 스윙, JAVAFX와 같은 일부 표준 그래픽 사용자 인터페이스 구성 요소를 사용하는 자바 GUI 응용 프로그램 또는 데스크톱 응용 프로그램이라고 하며, 이 구성 요소는 데스크톱에 배포
- 구성요소에는 버튼, 메뉴, 테이블, GUI 위젯 툴킷, 3D 그래픽 등
2) 웹 애플리케이션
-
- 클라이언트에 의해 실행되는 클라이언트-서버 소프트웨어 응용 프로그램
- 서블릿, JSP, 스트러츠, 하이버네이트 등 클라이언트-서버 애플리케이션의 개발에 사용
- 전자상거래 애플리케이션으로는 전자상거래 플랫폼, 건강 / 사회 보장, 교육, 보험 관련 응용 프로그램을 개발
3) 앤터프라이즈 애플리케이션
-
- 이들웨어 어플리케이션
- 기업 전체에서 소프트웨어 및 하드웨어 시스템 기술과 서비스 사용
- 은행 업무 시스템과 같은 기업 영역을 위해 설계
4) 모바일 애플리케이션
-
- 자바는 ME와 J2ME 프레임워크를 사용하며, 프레임워크는 스마트폰에서 다양한 애플리케이션을 실행하는 플랫폼
- 안드로이드에서도 애플리케이션 개발을 위한 플랫폼 제공
5) 빅데이터 기술
-
- 대용량 자료를 처리할 수 있는 컴퓨터 클러스터에서 동작하는 분산 애플리케이션을 지원하는 하둡 프레임워크는 자바로 작성
4. 자바의 주요 특징
- 자바를 만든 가장 큰 목적은 컴퓨터 언어에 이식성과 보안 기능을 높이기 위함
1) 단순함
- 자바는 구문이 매우 간결하여 쉽게 배울 수 있음
- C++ 또는 기타 프로그래밍 언어에서 볼 수 있는 포인터, 연산자 오버로딩과 같은 복잡성을 모두 제거하여 이해하기 쉬움
2) 객체지향
-
- 자바에서는 객체를 사용하여 모든 작업을 수행
- 객체 모델 기반으로 쉽게 확장할 수 있음
3) 강력한 기능
-
- 강력한 메모리 관리 시스템을 보유하고 있음
- 컴파일 및 런타임 중에 코드를 확인하므로 오류를 제거하는데 도움을 줌
4) 플랫폼 독립성
-
- 특정 기계에 종속적으로 컴파일되는 C, C++ 등과 같은 프로그래밍 언어와 달리 자바는 한 번 작성하면 어디서나 실행할 수 있는 언어
5) 보안
-
- 자바에서 모든 코드는 컴파일 후 바이트코드로 변환되기 때문에 사람이 읽을 수 없음
- 명시적으로 포인트를 사용하지 않으며, 신뢰할 수 없는 소스의 활동을 방지하기 위해 샌드박스 내부에서 프로그램을 실행
- 바이러스와 변조가 없는 시스템 / 응용 프로그램 개발
6) 멀티스레딩
-
- 동기화 기본 집합을 비롯해 여러 실행 스레드를 지원
- 멀티스레딩 기능을 통해 동시에 많은 작업을 수행하는 프로그램을 작성할 수 있음
7) 아키텍처 중립적
-
- 컴파일러가 특정 컴퓨터 아키텍처와 아무 관련이 없는 바이트코드를 생성하므로 자바 프로그램은 모든 시스템에서 쉽게 해석 가능
8) 휴대성
-
- 플랫폼에 독립적이므로 한 플랫폼에서 작성된 모든 애플리케이션을 다른 플랫폼에 쉽게 이식할 수 있음
9) 고성능
-
- 인터프리티드 언어이므로 C, C++와 같이 컴파일된 언어만큼 빠르지 않지만, JIT 컴파일러를 통해 기본 기계 코드로 쉽게 변환 가능한 바이트코드를 사용하여 고성능 달성
10) 분산
-
- 분산 애플리케이션을 만드는 데 도움이 되는 기능을 제공
- RMI를 사용하여 자바 프로그램은 네트워크를 통해 다른 프로그램의 메서드를 호출하고 출력을 얻을 수 있음
- 인터넷의 모든 시스템에서 메서드를 호출하여 파일에 액세스 가능
공부한 책 : 한빛아카데미 - 자바 마스터

'Back > Java' 카테고리의 다른 글
[JAVA] 출력 처리 (0) | 2024.04.11 |
---|---|
[JAVA] 자료형 (0) | 2024.04.11 |
[JAVA] 변수 (0) | 2024.04.11 |
[JAVA] 자바 프로그램 기본 구조 (0) | 2024.04.11 |
[JAVA] 자바 구성 요소 (0) | 2024.04.11 |