JAVA 프로그래밍
박수호 dasolove79@nate.com
차례
1부 자바의 개요
1.1 자바 소개 1.2 자바 환경과 자바 프로그램 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 객체 지향 개념 자바 기본 구조 자바의 제어문 클래스 상속 인터페이스와 패키지 예외처리 다중 스레드
2부 객체지향과 자바 언어의 기본 구조
차례
3부 자바클래스 라이브러리
3.1 3.2 3.3 3.4 3.5 4.1 4.2 4.3 4.4
java.lang 패키지 문자열 유틸리티 입출력 네트워킹 애플릿과 그래픽 이벤트 처리 사용자 인터페이스 : AWT 사용자 인터페이스 : SWING
4부 애플릿과 사용자 인터페이스
제1부 자바의 개요
1장 자바 소개 2장 자바 환경과 자바 프로그램
1장 자바 소개
1.1 1.2 1.3 1.4 1.5
자바(JAVA) 언어의 탄생 프로그래밍 언어 : 자바 플랫폼 : 자바 자바의 장점 자바와 웹
1.1 자바 언어의 탄생
1991년 선사의 James Gosling에 의해 가전 제품에 이용 하기 위해 개발이 시작(Green Project). 당시 WWW은 별 로 알려지지 않았다. 초기에 개발된 언어를 Oak라 하였으며 전자기기의 내장 된 프로그램을 위해 사용. Oak는 별로 관심을 끌지 못하 였다. 1994년 Gosling은 Oak를 JAVA(커피의 속어)로 다시 명 명하고 당시 인터넷에서 급격히 성장한 WWW에 자바를 적용 결정 Hot Java 검색기 개발. 넷스케이프, 익스플로러 자바 지 원
1.1 자바 역사 요약
1.2 프로그래밍 언어 : 자바
Tip : 자바는 네트워(인터넷) 환경의 전용 언어이다—(X) 자바는 강력한 범용 언어(General Purpose Language) 이면서 네트웤 환경에 강한 특징을 가지고 있다.—(O)
자바 언어의 특징
단순(simple)
자바는 C++언어를 기반으로 탄생하였지만, C나 C++에서 프로그 래머에게 많은 혼란을 주는 요소들을 제거 자바는 객체지향 언어이다. 자바 프로그램의 모든 요소들은 객체 로 표현된다. 객체지향은 소프트웨어의 재사용과 정보의 캡슐화 같은 많은 장점을 제공한다. 객체 지향은 우리의 실세계와 유사한 프로그램 방식이다. 자바는 인터넷 또는 네트웤을 통하여 효율적으로 수행될 수 있도 록 설계되었다. http, ftp, tcp/ip 프로토콜과 연관된 라이브러리 를 제공한다. 또한 자바는 다른 컴퓨터에 있는 원격 객체들을 호 출할 수 있는 RMI기능을 제공한다.
객체 지향(Objected-Oriented)
분산(Distributed)환경에 적합
자바 언어의 특징(Cont.)
인터프리터(Interpreted)에 의해 실행
자바는 독특한 실행 방식을 취하고 있다. 자바 소스는 자바 가상 기계에서 실행될 수 있는 바이트 코드로 번역되며, 번역된 바이 트 코드는 바이트 코드 해석기가 있는 어떠한 기종의 컴퓨터 환경 에서도 실행될 수 있다.
자바 언어의 특징(인터프리터 Cont.)
자바 언어의 특징
견고(Robust)하다
자바는 한번 작성되어 다양한 컴퓨터에서 실행되어야 하므로 높은 신뢰성이 요구된다. 자바는 높은 신뢰성 을 유지하기 위해 다음과 같은 특징을 가진다.
No Pointer Automatic Garbage Collection Strict Type Checking Runtime Error Processing
자바 언어의 특징
안전(Secure)하다
자바는 분산 환경에서 실행될 수 있도록 개발환경과 실행환경이 분리되어 있다. JVM은 무결성에 대한 필수적인 검사를 수행한다.
자바 언어의 특징
구조에 중립(Architecture neutral)적이고 이식성 (Portable)이 높다
자바는 자바 가상기계에서 실행되는 바이트 코드를 사 용함으로써 특정 컴퓨터에 종속되지 않는다. 자바는 한번 작성되면 JVM이 설치된 모든 종류의 컴 퓨터에서 실행할 수 있다 자바는 언어의 문법 뿐만 아니라 시스템 종속적인 부 분까지도 (int는 항상 32비트 등)시스템 구조 중립적으 로 설계되었다. 구조 중립적으로 설계된 자바는 높은 이식성을 제공한 다.
자바 언어의 특징(이식성)
자바 언어의 특징
높은 성능(High-performance)
바이트 코드는 인터프리터에 의해 효율적으로 수행될 수 있도록 설계되었다. 실행이 효율성을 제공하기 위해 JIT 컴파일러 제공 자바 번역기는 바이트 코드 생성시 자동 레지스터 할당과 최적화 를 수행하여 효율적인 바이트 코드를 생성한다. 동시에 수행하여야 하는 작업들을 스레드 기술할 수 있다. 자바는 스레드의 편리한 사용을 위한 라이브러리를 제공 자바는 변화하는 환경에 적응하도록 설계된 언어로서, 기존의 프 로그램에 영향을 주지 않고 라이브러리에 새로운 메소드나 속성 들을 추가할 수 있다. 자바는 라이브러리와의 연결을 실행시간에 수행한다.
멀티스레드(Multithread)
동적(Dynamic)
1.3 플랫폼 : 자바
플랫폼 : 프로그램이 실행되는 하드웨어와 소프트웨어 환경 기존의 컴퓨터에 자바 플랫폼을 구축하기 위해서는 자바 자바 소프 트웨어(JDK)만 설치하면 된다.
플랫폼 : 자바(Cont.)
자바 가상 기계(Java Virtual Machine)
바이트 코드를 기계어로 사용하는 컴퓨터 JDK 환경을 구축하여 자바 가상기계 설치 바이트 코드를 해석하여 실행할 수 있는 해석기
JDK의 인터프리터(java) 또는 애플릿뷰어(appletviewer) WWW검색기(넷스케이프, 익스플로러, 핫자바 등)에서 제공
자바 API(Application Programming Interface)
JDK에서 제공되는 거대한 패키지 자바 개발자는 자바 API에 미리 정의된 소프트웨어 패 키지를 이용하여 자바 프로그램을 작성
자바 환경
자바는 플랫폼이면서 프로그래밍 언어이다.
1.4 자바의 장점
빨리 배울 수 있다. 적은 코드로 프로그램을 작성할 수 있다. 좋은 품질의 프로그램을 작성할 수 있다. 프로그램 개발을 빨리 할 수 있다. 플랫폼에 독립적인 프로그램을 작성할 수 있다. 분산 소프트웨어를 쉽게 작성할 수 있다.
1.5 자바와 웹(WWW)
자바와 웹의 공통점
웹의 클라이언트/서버 구조에 자바가 쉽게 적응(자바의 바이트 코드가 서버에서 클라이언트로 다운되어 실행)
웹과 자바의 연동 형태
애플릿(Applet) 프로그램 서블릿(Servlet) 프로그램 JSP (Java Server Page)
웹과 연동되는 형태도 모두 자바 프로그램. 프로그램이 실행되는 방법과 프로그램의 구성면에서 조금씩 다르다.
1.5 자바와 웹(WWW)
애플릿(Applet) 프로그램
클라이언트의 웹 검색기에서 실행되는 프로그램 작고 간단한 응용에 적합
1.5 자바와 웹(WWW)
서블릿(Servlet) 프로그램
CGI 형태의 동작 프로그램을 대체할 수 있는 프로그램 서블릿은 기존의 CGI 방법과는 달리 클라이언트의 요청에 스레 드를 생성한다. CGI에 비해 효율성이 뛰어나다
1.5 자바와 웹(WWW)
JSP(Java Server Page) 프로그램
HTML 구문 내에 자바 프로그램을 기술 : ASP와 유사 JSP는 서블릿으로 변환되어 실행된다. 빠르고 쉽게 프로그램을 작성할 수 있다. HTML내에 기술함으로써 디자인 부분과의 연계가 유 리
1.5 자바와 웹(WWW)