Back/Java

[JAVA] 자바 언어

ddo04 2024. 4. 11. 12:13
 
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