본문 바로가기

프로그래밍/자바기술

자바[Java] 강좌 #1 - 자바 소개 및 특징

1강. 자바 강좌는 자바 소개 및 특징입니다.
* 자바(Java) 소개 *
v 객체지향 프로그래밍 (Object Oriented Programming) 언어이다
§1991Sun MicrosystemsJames Gosling에 의해 다양한 가전제품 통합 제어를 위해 최초 고안됨(Green Project) – OAK라 명명, 프로젝트 실패
§1995년 인터넷의 급격한 발전과 더불어 웹에 적용할 수 있는 언어로 탈바꿈
1995523Java라는 이름으로 공식 발표 – Java 1.0
개발환경 지원 – JDK 1.0(Java Development Kit)
지원 클래스 : 250
§2010년 현재 Java 6
개발환경 지원 – JDK 1.6
지원 클래스 : 3500
v C++ 기반으로 만들어진 언어이긴 하지만, C++처럼 복잡한 형태가 아닌 단순하면 서도 객체지향 개념을 완벽하게 구현할 수 있는 형태로 구성됨
§구조체(Struct), 공용체(Union), 포인터(Pointer)를 지원하지 않음
§Garbage Collection 기능을 통한 메모리 자동 관리 등
v 현재 자바는  데스크톱 어플리케이션, 서버 정보시스템, 무선기기와  같이 서로 다른 OS에 배치되어 시스템 개발 및 실행 환경(Platform)으로 제공되고 있다.


* 자바(Java) 특징 *
v 단순한 문법(Simple)
§CC++에서 프로그래머에게 많은 혼란을 주는 요소(전처리, 포인터, 구조체, 공용체, 다중상속 등)들을 제거함
v 객체지향 언어(Object Oriented Language)
§추상화, 캡슐화, 상속, 다형성 등과 같은 특성을 완벽하게 지원함

v 플랫폼 독립성(Platform Independence)
§소스코드(*.java) 컴파일을 통해 하드웨어 의존적인 바이너리 코드가 중립적인 바이트 코드(*.class) 생성
§바이트 코드는 JVM(Java Virtual Machine:자바 실행환경)만 있으면 어떠한 시스템에서도 이를 해석하여 실행 가능
§“Write Once, Use Anywhere!”
v 메모리 자동 관리(Garbage Collection)
§Garbage Collector에 의해 필요 없는 메모리를 자동 처리
v보안성
§바이트 코드 실행 전에 보안에 위배되는 요소가 있는지 여부를 미리 검사
v 쉬운 예외처리, 멀티스레드, 네트워킹, 분산 시스템 구축 등


* 자바(Java) 프로그램 종류 *
v Desktop Application
§워드프로세스, 메신저 등과 같이 개인용 PC에서 독립적으로 실행되어 특정한 기능을 수행하도록 작성된 프로그램(CUI/GUI)
v Applet
§웹 클라이언트(익스플로러, 파이어폭스) 내장되어 실행되는 작은 웹 프로그램
§웹 서버로부터 동적 다운로드
v Servlet/JSP
§웹 클라이언트의 HTTP 요청에 대해 HTML/XML 문서를 동적 생성하고 응답하기 위해 웹 어플리케이션서버에서 실행되는 프로그램
v Java Beans
§Desktop Application, Servlet/JSP등에서 쓰일 수 있는 재사용 가능한 컴포넌트
v EJB(Enterprise Java Beans)
§Desktop Application, Servlet/JSP, Java Beans 등에서 쓰일 수 있는 재사용 가능한 분산 컴포넌트
v Device Embed Application

§핸드폰, PDA등에 내장되어 실행되는 작은 프로그램