본문 바로가기

전공 과목 시험정리/JAVA

자바 언어의 이해

자바 언어의 개요 

Sun MicroSystems 사는 1991년 부터 제임스 고슬링을 주축으로 가전 제품을 제어하는 아주 단순하고 버그 없는 프로그래밍 언어인 자바를 개발하기 시작.


초기에는 C++ 언어로 시작하였는데, C++의 여러 문제점을 개선한 자바가 처음 나왔을 때는 관심을 가지지 않았다. 


인터넷의 보급 확산으로 핫자바에 의해 인터넷에 응용되면서 애플릿이라는 강력한 출력 형태가 인기를 끌게 된다.


애플릿은 브라우저에서 다운받고 실행해야 하고, 또 그 속도가 매우 느린 탓에 외면 당하기도 하였다.


그러나 자바는 그러한 단점이 없고, 작고 단순한 구조로 변경되어 효율적으로 실행하는 방식이라는 장점을 인정받아 지금과 같은 대중적인 언어로 발달하였다.


자바 언어의 특징

1. 단순하다.

C++ 언어로 부터 나온 자바는 C++/C 와 문법적으로 유사하다.

또한 포인터, 다중 상속, 구조체 사용, 전역 변수의 사용, 연산자의 중복 기능 등

C++의 복잡성을 단순화 시켰다.


2. 객체지향이다.

객체(Object) 개념을 적용한 완벽한 객체지향 언어이다.


3. 플랫폼 독립적이다.

플랫폼은 프로그램이 실행될 수 있는 하드웨어나 소프트웨어(OS 등) 기반 환경을 말하는데, 자바 프로그램은 JVM에 의해 실행되므로 플랫폼에 독립적이다.


4. 컴파일러와 인터프리터 언어의 두 가지 특징을 모두 갖는다.

.java -------------> .class -------------> 실행

 컴파일러 (javac)          인터프리터 (java)


5. 분산 처리에 용이하다.

TCP/IP 네트워크 기능을 내장하고 있으며, 프로토콜 (HTTP,FTP 등)을 사용할 수 있는 라이브러리를 제공한다.


6. 견고하다.

기존 언어들의 에러 원인이 되는 요소를 배제하였다.

- 포인터를 사용하지 않는다.

- 자동으로 가비지 컬렉션을 수행한다.

- 엄격한 데이터형 검사를 통해 에러를 조기에 발견한다.

- 실행 시간에 발생하는 에러를 처리한다.


7. 안전하다.

자바는 분산 네트워크 환경에서 실행될 수 있도록 설계된 언어.

따라서 자바는 보안을 중심으로 설계되었다.

자바를 실행하는 인터프리터는 바이트 코드르 불러오고, 검증하고, 수행하는 

작업을 단계적으로 수행한다.


8. 멀티쓰레드를 지원한다.

쓰레드는 CPU 작업의 한 흐름이라고 볼 수 있는데, 이 쓰레드를 동시에 구동시킬 수 있다. --> 수행속도를 빠르게


9. 동적이다.

기존 프로그램에 영향을 미치지 않고 라이브러리에 새로운 메소드나 속성을 

추가할 수 있음.

프로그램에 사용되는 라이브러리와의 연결을 실행시간에 수행하여 

라이브러리의 변화를 적용할 수 있다.



자바 개발 환경

자바는 보통 프로그래밍 언어와 다르게 하드웨어나 운영체제에 관계없이 실행될 수 있는 자체 플랫폼이 있는데, 이를 자바 개발 환경 (JDK) 라고 한다.


JVM (Java Virtual Machine : 자바 가상 머신)

 자바 가상 머신은 컴파일 후 생성되는 바이트 코드를 다양한 플랫폼에 맞는 기계어로 해석하여 실행한다. --> JVM만 깔려있으면 java 프로그램을 실행할 수 있다.


종류

특징

J2SE

    - 일반 자바 어플리 케이션을 개발하기 위한 기본 자바 개발 환경

J2EE

    - 서버 관련 프로그램을 개발하기 위한 자바 개발 환경

    - 웹 서버 환경에서 많이 활용됨. (JSP, Servlet, EJB 등)

J2ME

    - 다양한 제품과 임베디드 기기 프로그램을 개발하기 위한 자바 개발 환경.

    - 모바일 환경에서 많이 활용됨. (PDA, 핸드폰 등)


자바 프로그램의 종류

1. 일반 프로그램

자바 어플리케이션


2. 웹 클라이언트 프로그램 : 애플릿 (Applet)

웹 브라우저로 접속한 클라이언트 컴퓨터에 자바 프로그램을 전송.

--> 클라이언트 쪽에서 프로그램이 실행되는 기술.


3. 웹 서버 프로그램 : 서블릿(servlet) 과 JSP(Java Server Pages)

웹 브라우저로 클라이언트가 요청하면 웹 서버 쪽에서 자바 프로그램을 실행하고, 그 실행 결과만 HTML로 작성하여 클라이언트 에게 전송하는 기술.


4. 웹 컴포넌트 : EJB(Enterprise Java Beans)

EJB는 네트워크 상에 필요한 객체를 분산시켜 두고 이 객체를 자바 어플리케이션에서 불러 쓸 수 있도록 하는 분산 객체 기술이다.


5. 모바일과 임베디드

임베디드 분야 (특정 기능의 프로그램이 내장된 하드웨어) 로 개발 분야가 확대


자바 개발 환경 설치

1. 윈도우 플랫폼의 JDK 를 다운

2. 다운로드한 파일을 실행 하여 설치

3. 환경 변수 설정

4. JAVA API 설치





'전공 과목 시험정리 > JAVA' 카테고리의 다른 글

Array + 반복문  (0) 2015.06.09
시험정리 + 풀이  (0) 2015.04.30
가비지 콜렉션 (Garbage Collection)  (0) 2015.04.30
자바 다중 상속 지원.  (0) 2015.04.30
시험정리  (0) 2015.04.27