Java, Java Language   자바 언어, Java 언어

(2019-01-05)
1. 자바 언어Sun 社의 James Gosling이 1995년 개발한 객체지향 프로그래밍 언어(OOP)
     - 인터넷에 친화적이며 어떤 플랫폼에서도 독립적이고, 이식성이 좋음


2. 자바 언어 특징코드 크기가 작고 단순한 편임               => 단순 명료함
     - 꼭 필요한 기능 만 포함하고, 복잡하고 덜 쓰이는 기능은 배제
     - 복잡한 문법을 제거하고, 문법 체계가 단순 명료한 편임
        . 例) C++ 언어에서의 다중 상속,연산자 재정의 같은 복잡한 문법 사용 안함

  ㅇ 플랫폼(Platform) 및 컴퓨터 구조에 독립적임 => 플랫폼 독립적임 (기계 중립적임)
     - 시스템 아커텍처에 관계없는 중립적인 바이트 코드컴파일 됨

     - JVM에 의한 실행 방식
        . 자바 소스는 자바 가상 기계(JVM)에서 실행될 수 있는 바이트 코드로 번역되며, 
        . 번역된 바이트 코드는 해석기가 있는 어떠한 기종의 컴퓨터 환경에서도 실행 가능

     - 이식성이 좋음
        . 자바 런타임-모듈을 지원하는 모든 시스템에서 실행 가능 

  ㅇ 객체지향 (Object-Oriented)                 => 재사용성 높음
     - 캡슐화, 다형성, 상속성, 동적 바인딩과 같은 객체지향 특성 지원 
     - C++은 혼합/유사 객체지향이나, 자바는 순수 객체지향 언어 임

  ㅇ 분산 처리 프로그래밍이 가능
     - 네트워크 상에서 동작되는 것을 기본으로 함

  ㅇ 멀티 스레드 지원
     - 많은 작업의 동시 실행 (하나의 프로그램에서 여러 스레드 실행 가능)

  ㅇ 강건성
     - 강력한 데이터 타입 검사                                     ☞ 자바 변수 자료형 참조
     - 예외 처리 기능 등

  ㅇ 개발자에게 단순성,편리성,친숙성,풍요함 등을 제공
     - 자동으로 메모리 관리 (가비지 컬렉션)
        . JVM이 알아서 메모리 할당,해제 등
     - 실무용 필요 기능 대부분이 오픈 소스(자바 라이브러리)로 잘 구비/제공됨
     - 보안성이 좋음


3. 자바 플랫폼 (자바 실행 환경)

  ㅇ 자바 플랫폼 : 자바 프로그램이 실행되는 하드웨어 및 소프트웨어 환경
     - 자바 가상기계(JVM, Java Virtual Machine)
        . 바이트 코드를 해석하여 실행하여주는 해석기 
     - 자바 API 
        . 자바 프로그램에서 자주 사용되는 자바 클래스 모음(자바 클래스 라이브러리)
           .. 그래픽,네트워킹,보안,데이터베이스 접근 등의 기능 지원
        . 자바 개발자는, 
           .. 자바 API에 미리 정의된 소프트웨어 패키지를 이용하여 자바 프로그램을 작성하게 됨

  ㅇ 자바 실행 대상 : 프로그래머가 작성한 자바 응용 프로그램 (자바 플랫폼 위에서 실행 됨)


4. 자바 컴파일 및 실행의 例 컴파일 :  `소스코드(xxx.java)` → `자바 컴파일` → `클래스 파일(xxx.class)`
     - 자바 컴파일러   : javac

  ㅇ 실행 대상 : 컴파일된 `클래스 파일명 (xxx.class)`
     - 한번 컴파일하면, 다양한 종류의 컴퓨터에서 변경없이 실행 가능

  ㅇ 실행 주체 : java `클래스 파일명(xxx.class)`
     - 바이트 코드라는 가상의 기계어를 실행시켜준다는 의미에서,
     - 자바 인터프리터(Java Interpreter) 또는 자바가상기계(Java Virtual Machine) 라고 함
     - 많은 운영체제에서 이를 지원함


5. [참고사항]

  ㅇ 자바 기초 문법         ☞ 자바 기초 문법 참조
     - 기본 문자셋, 주석, 식별자 명명 규칙, 키워드(에약어), 주석 등

  ㅇ 자바 개발 도구 및 환경 ☞ 자바 개발 환경 참조

  ㅇ 자바 변수자료형자바 변수 자료형 참조

  ㅇ 자바 라이브러리자바 라이브러리 패키지 참조


[자바(Java)] 1. Java 언어 2. 자바 기초 문법 3. 자바 변수,자료형 4. 자바 관련 용어 5. 자바 클래스
[자바 개발 환경] [자바 라이브러리/패키지] [자바 언어 기타]
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램,프로그래밍
      1.   프로그래밍 언어론
      2.   구조적 프로그래밍
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
            1. 프로그래밍 언어
        1.   C
        2.   C++
        3.   자바(Java)
              1. Java 언어
              2. 자바 기초 문법
              3. 자바 변수,자료형
              4. 자바 관련 용어
              5. 자바 클래스
          1.   자바 개발 환경
          2.   자바 라이브러리/패키지
          3.   자바 언어 기타
        4.   자바스크립트
        5.   PHP
        6.   파이썬
        7.   (기타 언어)
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌