자바(Java)는 1991년 제임스 고슬링을 포함한 썬 마이크로시스템즈의 연구원들에 의해 인터랙티브 TV(Interactive TV)용 프로그램 작성을 위해 처음 개발되었다. 제임스 고슬링은 자신의 사무실 밖의 참나무를 보고 언어의 이름을 오크(Oak)라고 명명하였으나, 이는 이미 다른 회사의 상표로 등록되었기 때문에 이름을 변경해야 했다. 논의된 여러 후보 이름 중 커피를 좋아하는 연구팀원들에 의해 자와섬(자바섬)에 빗대어 현재의 이름이 선택되었다. 최초의 자바 공개 버전인 자바 1.0은 1995년에 출시되었다.
-자바의 부상이유
자바의 부상이유로 기존프로그램 방식과 달리 한번 작성하면 어디서든지 똑같이 동작하는 프로그램을 만들 수 있는 부분이 꼽힌다. WORA(Write Once, Run Anywhere) 목적으로, 한 번 구현한 코드를 플랫폼에 독립적으로 사용할 수 있도록 특별히 설계되었다.
일반적으로 컴퓨터 프로그램은 사람이 이해하기 쉬운 고급 프로그래밍 언어를 사용해 작성되고 컴파일 과정을 통해 특정 CPU(중앙처리장치)에서 실행 가능한 기계어 코드로 변환된다.
하지만 자바 프로그램은 명령어 집합을 나타내는 바이트코드(Java bytecode)라는 특수한 바이너리 형태로 컴파일 된 후, 자바 가상 머신(JVM, Java Virtual Machine) 상에서 실행된다. JVM은 자바 프로그램을 실행하기 위한 가상의 기계를 소프트웨어로 구성한 것으로, 자바 바이트코드를 CPU나 운영체제(OS)에 관계없이 동일한 형태로 실행시킨다.
따라서 자바 가상 머신이 설치 가능하다면, 자바 어플리케이션을 운영체제나 하드웨어 플랫폼에 따라 변경함 없이 그대로 실행 가능하다.
- 자바의 특징
1) 자바(Java)는 객체지향 프로그래밍 언어(Object Oriented Programming)이다.
객체지향 프로그래밍은 프로그램을 짤 때 각각의 역할을 하는 객체로 프로그램을 구성한다. 때문에 비슷한 역할을 해야 하는 또 다른 프로그램을 작성해야 할 때, 이전 사용했던 객체를 활용할 수 있는 것이다.
(객체지향 프로그래밍 특징 : 캡슐화와 데이터은닉, 다형성, 메소드의 오버로딩, 상속성)
2) 자바(Java)는 운영체제에 독립적인 컴파일 언어이다. 자바는 네트워크 분산처리 환경에서 사용하기 위해 만들어진 언어이기 때문에 보안에 중점을 두고 있는데, 특히 바이러스가 침투하지 못하는 구조를 가지고 있습니다.
-자바 플랫폼 : 플랫폼은 프로그램이 실행되는 하드웨어나 소프트웨어 환경이다. 자바플랫폼은 자바가상기계(Java Virtual Machine), 자바 응용 프로그래밍 인터페이스(Application Programming Interface) 두가지로 이루어져 있다. API는 즉시 사용가능한 많은 라이브러리들을 제공한다. API와 JVM은 프로그램과 하드웨어를 분리하는 역할을 한다. 따라서 자바 프로그램은 이들 덕분에 하드웨어의 종류에 상관없이 어디서나 실행될 수 있다.
3) 자바(Java)는 이식성이 좋다. 네트워크 자체가 다양한 기종의 컴퓨터, 하드웨어, 운영체제 등으로 이루어져있기 때문에 여러 기계에서 모두 사용가능하게 만들어진 프로그래밍 언어이다.
(이식성 : 서로 다른 실행환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있는것)
4) 자바(Java)는 오픈소스 라이브러리가 풍부하다.
5) 자바(Java)는 멀티스레드(Multi-threaded)를 제공한다. (ex. 카카오톡 채팅)
(멀티 스레드: 1개의 응용 프로그램이 스레드(thread)로 불리는 처리 단위를 복수 생성하여 복수의 처리를 병행하는 것. 즉, 응용 프로그램 내에서의 다중 작업(multitasking) 처리를 말한다.)
6) 자바(Java)는 동적(Dynamic)이다. 라이브러리들은 실행 파일에 영향을 끼치지 않고 자유롭게 새로운 기능들을 추가할 수 있다. 실행되기 직전에 라이브러리를 동적으로 링크하므로 실행할 때 변경된 라이브러리가 자동적으로 참조된다.
- 애플릿과 애플리케이션의 차이
애플릿 : Java 언어로 구성된 간단한 기능의 소규모 프로그램을 의미하거나 웹 페이지에 포함되어 작은 기능을 수행하는 프로그램을 말한다. 애플리케이션을 웹 브라우져 (IE, firefox, mozilla, opera 등)에서 실행되도록 만든 것이 애플릿이다. 웹 브라우저에서 실행되며 html을 이용해 실행하는 웹 기반 프로그램. HTML문서 안에서 애플릿을 지정하면 웹 서버로부터 다운로드되어 클라이언트 컴퓨터에서 실행된다.
애플리케이션 : 특정한 업무를 수행하기 위해 개발된 응용 소프트웨어. 독립적으로 실행될 수 있는 일반 응용 프로그램이다. 일반 컴퓨팅 환경에서 실행되고 웹 브라우저가 필요 없다.
애플릿은 애플리케이션에 비해서 제약 조건이 많다. 애플릿은 애플리케이션에 비해 속도가 느리며, 메모리나 보안에 많은 제약이 있다.
'언어공부 > Java' 카테고리의 다른 글
자바 print 출력 메소드 - print()/ println() / printf() (0) | 2021.04.26 |
---|---|
자바 자료형과 형 변환(cast, 암시적 형 변환(자동 형 변환), 명시적 형 변환) (0) | 2021.04.25 |
자바 상수(constant), 변수(variable) 와 식별자 규칙 (0) | 2021.04.25 |
자바 주석문(comment), 클래스(class), 메소드(method),자바의 문장(statement), 세미콜론(;) (0) | 2021.04.24 |
자바의 컴파일 과정 및 개발 환경 설정 (JDK 1.8 버전 / 이클립스 설치) (0) | 2021.04.24 |