자바 입문

34
자자 자자 자자 자자

description

자바 입문. 자바의 개요. 자바의 소개 애플릿과 애플리케이션 자바의 기본 패키지 자바의 기본 특징 자바의 주요 특징. 자바 언어의 역사 [1/3]. Sun Microsystems Inc. James Gosling 과 A rthur V an Hoff 1990 년 “ 그린프로젝트 ” 로 시작 1991 년 가전제품을 위한 언어로 개발 범용 개발 언어로 발전 Java Ja mes Gosling, A rthur V an Hoff, A ndy 인도네시아 산 커피 원료 이름. - PowerPoint PPT Presentation

Transcript of 자바 입문

Page 1: 자바 입문

자바 입문자바 입문

Page 2: 자바 입문

2

자바의 개요

자바의 소개

애플릿과 애플리케이션

자바의 기본 패키지

자바의 기본 특징

자바의 주요 특징

Page 3: 자바 입문

3

자바 언어의 역사 [1/3]

Sun Microsystems Inc. James Gosling 과 Arthur Van Hoff

1990 년 “그린프로젝트”로 시작1991 년 가전제품을 위한 언어로 개발범용 개발 언어로 발전Java James Gosling, Arthur Van Hoff, Andy 인도네시아 산 커피 원료 이름

Page 4: 자바 입문

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]

Page 5: 자바 입문

5

자바 언어의 역사 [3/3]

모든 OS, 플랫폼 및GUI 에서 작동될 수있는 분산 응용 프로그램은 없을까 ??

PC

Server Mac

분산 Client-server 환경

NETWORK

Page 6: 자바 입문

6

자바란 ?

자바가 어디에 쓰이는지 ?

왜 배워야 하는지 ?

어떻게 활용할 수 있는지 ?

자바는 C 계열 언어로 프로그래밍 언어 중에서 5 세대 언어에 속하는 새로운 언어이다 .

기계어 어셈블리

C

FORTRAN

BASIC

PASCAL

COBOL

VB

DELPHI

PB

JAVA

C#

1G 2G 3G 4G 5G

Page 7: 자바 입문

7

자바의 주요 특성

간단하며 친숙한 언어

객체지향 언어

플랫폼에 독립적 ( 분산 환경에 적합 )

견고하고 보안에 강하다 ( 안정성 )

이식성이 강하다

멀티스레드를 지원

Page 8: 자바 입문

8

간단하며 친숙한 언어

설계 목표 : 작고 간단해서 쉽게 프로그래밍하고 , 쉽게 디버깅하고 , 쉽게 배울

수 있도록 하는 것

C/C++ 의 복잡한 기능 일부 삭제 포인터 연산 삭제 , 자동적인 메모리 관리

친숙한 언어 연산식과 문장 구조 : ANSI C 언어 객체 지향적인 개념 : C++ 언어

Page 9: 자바 입문

9

객체지향 언어

객체지향 언어 특성 자료 추상화 (data abstraction) 상속성 (inheritance) 다형성 (polymorphism)

다형성 function overloading --- method overloading

Page 10: 자바 입문

10

플랫폼에 독립적 [1/3]

아키텍춰에 독립적 플랫폼에 독립적인 Bytecode 사용 JVM(Java Virtual Machine)

기존 개발환경과의 비교

Page 11: 자바 입문

11

플랫폼에 독립적 [2/3]

기존 프로그램 개발 환경

소스코드

컴파일러 (Pentium)

컴파일러 (PowerPC)

컴파일러 (SPARC)

이진파일

Pentium

PowerPC

SPARC

이진파일

이진파일

Page 12: 자바 입문

12

플랫폼에 독립적 [3/3]

자바 개발 환경

자바 컴파일러(Pentium)

자바 컴파일러(PowerPC)

자바 컴파일러(SPARC)

자바인터프리터

Pentium

PowerPC

SPARC

자바

인터프리터

자바인터프리터

자바코드

자바바이트코드

( 플랫폼 독립적 )

Page 13: 자바 입문

13

견고하고 보안에 강하다

포인터 제거 디버깅이 어려운 run-time 에러 발생 감소

엄격한 형 검사 strongly typed language

Page 14: 자바 입문

14

동적이고 멀티 스레드를 지원

동적 링크

언어차원에서 멀티스레드를 지원

Page 15: 자바 입문

15

C/C++ 에서 제거된 특성 [1/2]

typedef 문 , #define 문 클래스와 인터페이스

구조체 (struct) 와 공용체 (union) 클래스로 대체 가능

함수 (function) 모두 메소드로 처리

다중상속 (multiple inheritance) 인터페이스는 다중상속 지원

goto 문을 지원하지 않음 . 다중 레이블 break/continue 문

Page 16: 자바 입문

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 ;

Page 17: 자바 입문

17

애플릿과 애플리케이션

자바 응용 프로그램 애플리케이션

일반적인 프로그래밍 언어로 작성된 프로그램 main() 메소드가 존재

애플릿 웹 브라우저 환경에서 실행하는 프로그램 HTML 과 연계해서 실행

Page 18: 자바 입문

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 클래스의 메소드

Page 19: 자바 입문

19

자바 인터프리터(java)

자바 컴파일러(javac)

HelloWorld.java

HelloWorld.class

C:>javac HelloWorld.java C:>java HelloWorld Hello World!

자바 애플리케이션 실행과정

실행결과

Page 20: 자바 입문

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;

Page 21: 자바 입문

21

자바 애플릿 수행과정 [1/2]

자바 컴파일러(javac)

웹 브라우저혹은

appletviewer

HelloWorldApplet.java

HelloWorldAppet.class

HTML 문서

실행결과

Page 22: 자바 입문

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

Page 23: 자바 입문

23

프로그래밍 환경 프로그램 작성 편집기 , 디버거

운영 환경 프로그램 실행 컴파일러 , 실행시간 지원 시스템 , 라이브러리 시스템 JDK(Java Developers Kit)

통합 환경 (IDE) Visual J++, Jbuilder, Symantec Cafe

Page 24: 자바 입문

24

자바환경과 자바 프로그램

2.1 자바 개발 환경

2.2 자바 통합환경

2.3 자바 응용 프로그램과 애플릿 프로그램

2.4 자바 응용 프로그램

2.5 자바 애플릿 프로그램

Page 25: 자바 입문

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

Page 26: 자바 입문

26

2.2 자바 통합환경

선 (Sun) 사의 JDK 는 자바프로그램을 개발하는데 필요한 컴파일러 ,

인터프리터 등을 제공한다 . 하지만 통합 개발 환경을 지원하지 않기 때문에

프로그램을 작성하는데 불편하다 .

윈도우에 있는 메모장에서 자바 소스를 입력해서 도스 창에서 컴파일 하고 실행

자바를 처음 시작하는 사용자나 초보자에게 자바 프로그래밍을 위해 단순한

편집기인 EditPlus 나 준 비주얼 도구인 Kawa 의 사용을 권한다

Kawa : 전문적인 통합환경과 같은 기능을 제공하지는 못하지만 프로그래밍을

위한 기본적인 통합환경의 기능을 충실하게 제공하고 있다 . Kawa 는 SDK 를

기반으로 동작

통합환경 : 전문적인 자바 프로그램을 개발하기 위한 환경

Page 27: 자바 입문

27

2.3 자바 응용 프로그램과 애플릿 프로그램

자바 응용 프로그램

C 나 C++ 프로그램과 같은 일반적인 응용 프로그램

자바 애플릿 프로그램

WWW 검색기나 애플릿 뷰어에서 실행되는 프로그램

작고 간단한 응용에 많이 사용된다

네트워크를 통하여 실행될 수 있으므로 개발환경과 실행환경의

독립성이 보장된다 .

Page 28: 자바 입문

2.4 자바 응용 프로그램

JDK 는 별도의 편집기를 제공하지 않는다 . 윈도우의 메모장이나 도스 편집기를 이용하여 프로그램을 작성

// 프로그램 : Example1.javaclass Example1 { public static void main(String args[]) { System.out.println(" 안녕하세요 !! 첫 번째 자바 프로그램입니다 "); }}

Page 29: 자바 입문

응용 프로그램의 번역과 실행

Page 30: 자바 입문

2.5 자바 애플릿 프로그램

애플릿 프로그램은 WWW 검색기나 애플릿 뷰어에 의해 실행

// 프로그램 : Example2.javaimport java.applet.*; import java.awt.*;public class Example2 extends Applet { public void paint(Graphics g) { g.drawString(" 안녕하세요 !! 두 번째 자바 프로그램입니다 !", 100,60)}}

Page 31: 자바 입문

애플릿 프로그램의 번역과 실행

자바 컴파일러를 사용하여 번역 : javac Example2.java애플릿을 실행하기 위해서는 애플릿을 로드하는 HTML 파일을 작성하여야 한다 .

<HTML><HEAD><TITLE> 자바 프로그램 테스트 02 </TITLE></HEAD><BODY><CENTER><APPLET CODE= "Example2.class" WIDTH=400 HEIGHT=200 ></APPLET></CENTER></BODY></HTML>

Page 32: 자바 입문

애플릿 프로그램의 실행( 애플릿 뷰어 )

Page 33: 자바 입문

애플릿 프로그램의 실행(WWW 검색기 )

Page 34: 자바 입문

34

자바의 기본 패키지

java.lang 자바 컴파일러에 의해 자동으로 import

java.io 스트림 입출력 , 파일 입출력에 관련된 클래스 java.net 패키지

소켓 , 텔넷 인터페이스 , URL

java.util 벡터 , 스택 , 해쉬테이블 등 ..

java.awt - Abstract Window Toolkit . . .