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

(2020-06-25)

자바


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


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

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

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

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

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

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

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

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

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


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

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

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


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

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

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


5. [참고사항]자바 기초 문법자바 기초 문법 참조
     - 기본 문자셋, 주석, 식별자 명명 규칙, 키워드(에약어), 주석 등

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

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

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

자바(Java)
   1. Java 언어   2. 자바 관련 용어  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"