자바 입문
-
Upload
bradley-mullen -
Category
Documents
-
view
45 -
download
1
description
Transcript of 자바 입문
자바 입문자바 입문
2
자바의 개요
자바의 소개
애플릿과 애플리케이션
자바의 기본 패키지
자바의 기본 특징
자바의 주요 특징
3
자바 언어의 역사 [1/3]
Sun Microsystems Inc. James Gosling 과 Arthur Van Hoff
1990 년 “그린프로젝트”로 시작1991 년 가전제품을 위한 언어로 개발범용 개발 언어로 발전Java James Gosling, Arthur Van Hoff, Andy 인도네시아 산 커피 원료 이름
4
1995 년 5 월 : JDK(java Development Kit) 알파버젼 발표
1996 년 1 월 : JDK 1.0 발표
1996 년 2 월 : 자바와 자바 스크립트를 지원하는 넷스케이프 2.0 발표
1996 년 8 월 : 자바를 지원하는 인터넷 익스플로러 3.0 발표
1998 년 12 월 : JDK 1.2 를 발표하면서 자바 2 로 명명
1999 년 6 월 : JSP(java Sever Page) 발표
2002 년 5 월 : JDK 1.4 발표
자바 언어의 역사 [2/3]
5
자바 언어의 역사 [3/3]
모든 OS, 플랫폼 및GUI 에서 작동될 수있는 분산 응용 프로그램은 없을까 ??
PC
Server Mac
분산 Client-server 환경
NETWORK
6
자바란 ?
자바가 어디에 쓰이는지 ?
왜 배워야 하는지 ?
어떻게 활용할 수 있는지 ?
자바는 C 계열 언어로 프로그래밍 언어 중에서 5 세대 언어에 속하는 새로운 언어이다 .
기계어 어셈블리
C
FORTRAN
BASIC
PASCAL
COBOL
VB
DELPHI
PB
JAVA
C#
1G 2G 3G 4G 5G
7
자바의 주요 특성
간단하며 친숙한 언어
객체지향 언어
플랫폼에 독립적 ( 분산 환경에 적합 )
견고하고 보안에 강하다 ( 안정성 )
이식성이 강하다
멀티스레드를 지원
8
간단하며 친숙한 언어
설계 목표 : 작고 간단해서 쉽게 프로그래밍하고 , 쉽게 디버깅하고 , 쉽게 배울
수 있도록 하는 것
C/C++ 의 복잡한 기능 일부 삭제 포인터 연산 삭제 , 자동적인 메모리 관리
친숙한 언어 연산식과 문장 구조 : ANSI C 언어 객체 지향적인 개념 : C++ 언어
9
객체지향 언어
객체지향 언어 특성 자료 추상화 (data abstraction) 상속성 (inheritance) 다형성 (polymorphism)
다형성 function overloading --- method overloading
10
플랫폼에 독립적 [1/3]
아키텍춰에 독립적 플랫폼에 독립적인 Bytecode 사용 JVM(Java Virtual Machine)
기존 개발환경과의 비교
11
플랫폼에 독립적 [2/3]
기존 프로그램 개발 환경
소스코드
컴파일러 (Pentium)
컴파일러 (PowerPC)
컴파일러 (SPARC)
이진파일
Pentium
PowerPC
SPARC
이진파일
이진파일
12
플랫폼에 독립적 [3/3]
자바 개발 환경
자바 컴파일러(Pentium)
자바 컴파일러(PowerPC)
자바 컴파일러(SPARC)
자바인터프리터
Pentium
PowerPC
SPARC
자바
인터프리터
자바인터프리터
자바코드
자바바이트코드
( 플랫폼 독립적 )
13
견고하고 보안에 강하다
포인터 제거 디버깅이 어려운 run-time 에러 발생 감소
엄격한 형 검사 strongly typed language
14
동적이고 멀티 스레드를 지원
동적 링크
언어차원에서 멀티스레드를 지원
15
C/C++ 에서 제거된 특성 [1/2]
typedef 문 , #define 문 클래스와 인터페이스
구조체 (struct) 와 공용체 (union) 클래스로 대체 가능
함수 (function) 모두 메소드로 처리
다중상속 (multiple inheritance) 인터페이스는 다중상속 지원
goto 문을 지원하지 않음 . 다중 레이블 break/continue 문
16
C/C++ 에서 제거된 특성 [2/2]
연산자 중복 (operator overloading)강제적인 자동변환 명시적인 cast 연산
Incompatible type for =. Explicit cast needed to convert float to int.
myInt = myFloat; ^
포인터 연산을 제거 .
int myInt ; float myFloat = 3.141592f ; myInt = myFloat ;
int myInt ; float myFloat = 3.141592f ; myInt = (int) myFloat ;
17
애플릿과 애플리케이션
자바 응용 프로그램 애플리케이션
일반적인 프로그래밍 언어로 작성된 프로그램 main() 메소드가 존재
애플릿 웹 브라우저 환경에서 실행하는 프로그램 HTML 과 연계해서 실행
18
애플리케이션 만들기
간단한 프로그램 public static void main() System.out.println()
public class HelloWorld { public static void main(String[] args) { System.out.println( "Hello World!" ) ; } }
public class HelloWorld { public static void main(String[] args) { System.out.println( "Hello World!" ) ; } }
System 클래스PrintStream 형의 객체
PrintStream 클래스의 메소드
19
자바 인터프리터(java)
자바 컴파일러(javac)
HelloWorld.java
HelloWorld.class
C:>javac HelloWorld.java C:>java HelloWorld Hello World!
자바 애플리케이션 실행과정
실행결과
20
애플릿 만들기
간단한 프로그램
java.applet.Applet paint(Graphics g) import 문
import java.awt.Graphics ;
public class HelloWorldApplet extends java.applet.Applet { public void paint( Graphics g ) { g.drawString( "Hello World!", 5, 25 ) ; } }
import java.awt.Graphics ;
public class HelloWorldApplet extends java.applet.Applet { public void paint( Graphics g ) { g.drawString( "Hello World!", 5, 25 ) ; } }
import java.applet.Applet;
21
자바 애플릿 수행과정 [1/2]
자바 컴파일러(javac)
웹 브라우저혹은
appletviewer
HelloWorldApplet.java
HelloWorldAppet.class
HTML 문서
실행결과
22
자바 애플릿 수행과정 [2/2]
HTML 문서 작성
<HTML> <HEAD> <TITLE> Hello </TITLE> </HEAD> <BODY> <APPLET CODE="HelloWorldApplet.class" WIDTH=300 HEIGHT=80> </APPLET> </BODY></HTML>
<HTML> <HEAD> <TITLE> Hello </TITLE> </HEAD> <BODY> <APPLET CODE="HelloWorldApplet.class" WIDTH=300 HEIGHT=80> </APPLET> </BODY></HTML>
C:>javac HelloWorldApplet.java C:>appletviewer HelloWorldApplet.html
23
프로그래밍 환경 프로그램 작성 편집기 , 디버거
운영 환경 프로그램 실행 컴파일러 , 실행시간 지원 시스템 , 라이브러리 시스템 JDK(Java Developers Kit)
통합 환경 (IDE) Visual J++, Jbuilder, Symantec Cafe
24
자바환경과 자바 프로그램
2.1 자바 개발 환경
2.2 자바 통합환경
2.3 자바 응용 프로그램과 애플릿 프로그램
2.4 자바 응용 프로그램
2.5 자바 애플릿 프로그램
2.1 자바 개발 환경 선 (Sun) 사에서 제공
JDK = SDK
JDK1.2 = Java 2 SDK version 1.4.1
SDK 설치
SDK 소프트웨어
http://java.sun.com/j2se/1.4.1/download.html SDK 도구
자바 번역기 : javac.exe
자바 해석기 : java.exe
애플릿 프로그램 실행기 : appletviewer.exe
자바 문서 생성기 : javadoc.exe
자바 압축 도구 : jar.exe
26
2.2 자바 통합환경
선 (Sun) 사의 JDK 는 자바프로그램을 개발하는데 필요한 컴파일러 ,
인터프리터 등을 제공한다 . 하지만 통합 개발 환경을 지원하지 않기 때문에
프로그램을 작성하는데 불편하다 .
윈도우에 있는 메모장에서 자바 소스를 입력해서 도스 창에서 컴파일 하고 실행
자바를 처음 시작하는 사용자나 초보자에게 자바 프로그래밍을 위해 단순한
편집기인 EditPlus 나 준 비주얼 도구인 Kawa 의 사용을 권한다
Kawa : 전문적인 통합환경과 같은 기능을 제공하지는 못하지만 프로그래밍을
위한 기본적인 통합환경의 기능을 충실하게 제공하고 있다 . Kawa 는 SDK 를
기반으로 동작
통합환경 : 전문적인 자바 프로그램을 개발하기 위한 환경
27
2.3 자바 응용 프로그램과 애플릿 프로그램
자바 응용 프로그램
C 나 C++ 프로그램과 같은 일반적인 응용 프로그램
자바 애플릿 프로그램
WWW 검색기나 애플릿 뷰어에서 실행되는 프로그램
작고 간단한 응용에 많이 사용된다
네트워크를 통하여 실행될 수 있으므로 개발환경과 실행환경의
독립성이 보장된다 .
2.4 자바 응용 프로그램
JDK 는 별도의 편집기를 제공하지 않는다 . 윈도우의 메모장이나 도스 편집기를 이용하여 프로그램을 작성
// 프로그램 : Example1.javaclass Example1 { public static void main(String args[]) { System.out.println(" 안녕하세요 !! 첫 번째 자바 프로그램입니다 "); }}
응용 프로그램의 번역과 실행
2.5 자바 애플릿 프로그램
애플릿 프로그램은 WWW 검색기나 애플릿 뷰어에 의해 실행
// 프로그램 : Example2.javaimport java.applet.*; import java.awt.*;public class Example2 extends Applet { public void paint(Graphics g) { g.drawString(" 안녕하세요 !! 두 번째 자바 프로그램입니다 !", 100,60)}}
애플릿 프로그램의 번역과 실행
자바 컴파일러를 사용하여 번역 : javac Example2.java애플릿을 실행하기 위해서는 애플릿을 로드하는 HTML 파일을 작성하여야 한다 .
<HTML><HEAD><TITLE> 자바 프로그램 테스트 02 </TITLE></HEAD><BODY><CENTER><APPLET CODE= "Example2.class" WIDTH=400 HEIGHT=200 ></APPLET></CENTER></BODY></HTML>
애플릿 프로그램의 실행( 애플릿 뷰어 )
애플릿 프로그램의 실행(WWW 검색기 )
34
자바의 기본 패키지
java.lang 자바 컴파일러에 의해 자동으로 import
java.io 스트림 입출력 , 파일 입출력에 관련된 클래스 java.net 패키지
소켓 , 텔넷 인터페이스 , URL
java.util 벡터 , 스택 , 해쉬테이블 등 ..
java.awt - Abstract Window Toolkit . . .