자바 입문
This presentation is the property of its rightful owner.
Sponsored Links
1 / 34

자바 입문 PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on
  • Presentation posted in: General

자바 입문. 자바의 개요. 자바의 소개 애플릿과 애플리케이션 자바의 기본 패키지 자바의 기본 특징 자바의 주요 특징. 자바 언어의 역사 [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 인도네시아 산 커피 원료 이름.

Download Presentation

자바 입문

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


6225025

자바 입문


6225025

자바의 개요

  • 자바의 소개

  • 애플릿과 애플리케이션

  • 자바의 기본 패키지

  • 자바의 기본 특징

  • 자바의 주요 특징


6225025

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

  • Sun Microsystems Inc.

    • James Gosling과 Arthur Van Hoff

  • 1990년 “그린프로젝트”로 시작

  • 1991년 가전제품을 위한 언어로 개발

  • 범용 개발 언어로 발전

  • Java

    • James Gosling, Arthur Van Hoff, Andy

    • 인도네시아 산 커피 원료 이름


6225025

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

  • 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발표


6225025

OS,

모든

플랫폼

PC

Client-server

분산

환경

GUI

에서

작동될

있는

분산

응용

프로

??

그램은

없을까

NETWORK

Server

Mac

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


6225025

자바란?

  • 자바가 어디에 쓰이는지?

  • 왜 배워야 하는지?

  • 어떻게 활용할 수 있는지?

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

1G

2G

5G

3G

4G

기계어

어셈블리

C

FORTRAN

BASIC

PASCAL

COBOL

VB

DELPHI

PB

JAVA

C#


6225025

자바의 주요 특성

  • 간단하며 친숙한 언어

  • 객체지향 언어

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

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

  • 이식성이 강하다

  • 멀티스레드를 지원


6225025

간단하며 친숙한 언어

  • 설계 목표 :

    • 작고 간단해서 쉽게 프로그래밍하고, 쉽게 디버깅하고, 쉽게 배울 수 있도록 하는 것

  • C/C++의 복잡한 기능 일부 삭제

    • 포인터 연산 삭제, 자동적인 메모리 관리

  • 친숙한 언어

    • 연산식과 문장 구조 : ANSI C 언어

    • 객체 지향적인 개념 : C++ 언어


6225025

객체지향 언어

  • 객체지향 언어 특성

    • 자료 추상화(data abstraction)

    • 상속성(inheritance)

    • 다형성(polymorphism)

  • 다형성

    • function overloading --- method overloading


6225025

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

  • 아키텍춰에 독립적

    • 플랫폼에 독립적인 Bytecode 사용

    • JVM(Java Virtual Machine)

  • 기존 개발환경과의 비교


6225025

이진

파일

소스

코드

이진

파일

Pentium

컴파일러(Pentium)

이진

파일

PowerPC

컴파일러(PowerPC)

SPARC

컴파일러(SPARC)

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

  • 기존 프로그램 개발 환경


6225025

자바

인터프리터

자바

코드

자바 컴파일러

(Pentium)

Pentium

자바

바이트코드

(플랫폼 독립적)

자바

인터프리터

자바 컴파일러

(PowerPC)

PowerPC

자바

인터프리터

SPARC

자바 컴파일러

(SPARC)

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

  • 자바 개발 환경


6225025

견고하고 보안에 강하다

  • 포인터 제거

    • 디버깅이 어려운 run-time 에러 발생 감소

  • 엄격한 형 검사

    • strongly typed language


6225025

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

  • 동적 링크

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


C c 1 2

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

  • typedef문, #define문

    • 클래스와 인터페이스

  • 구조체(struct)와 공용체(union)

    • 클래스로 대체 가능

  • 함수(function)

    • 모두 메소드로 처리

  • 다중상속(multiple inheritance)

    • 인터페이스는 다중상속 지원

  • goto 문을 지원하지 않음.

    • 다중 레이블 break/continue문


C c 2 2

int myInt ;

float myFloat = 3.141592f ;

myInt = myFloat ;

int myInt ;

float myFloat = 3.141592f ;

myInt = (int) myFloat ;

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

  • 연산자 중복(operator overloading)

  • 강제적인 자동변환

    • 명시적인 cast 연산

    • Incompatible type for =. Explicit cast needed to convert float to int.

      myInt = myFloat;

      ^

  • 포인터 연산을 제거.


6225025

애플릿과 애플리케이션

  • 자바 응용 프로그램

    • 애플리케이션

      • 일반적인 프로그래밍 언어로 작성된 프로그램

      • main() 메소드가 존재

    • 애플릿

      • 웹 브라우저 환경에서 실행하는 프로그램

      • HTML과 연계해서 실행


6225025

public class HelloWorld {

public static void main(String[] args) {

System.out.println( "Hello World!" ) ;

}

}

PrintStream 클래스의 메소드

PrintStream 형의 객체

System 클래스

애플리케이션 만들기

  • 간단한 프로그램

    • public static void main()

    • System.out.println()


6225025

HelloWorld.java

자바 컴파일러

(javac)

자바 인터프리터

(java)

HelloWorld.class

C:>javac HelloWorld.java

C:>java HelloWorld

Hello World!

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

실행결과


6225025

애플릿 만들기

  • 간단한 프로그램

    • java.applet.Applet

    • paint(Graphics g)

    • import 문

import java.applet.Applet;

import java.awt.Graphics ;

public class HelloWorldApplet extends java.applet.Applet {

public void paint( Graphics g ) {

g.drawString( "Hello World!", 5, 25 ) ;

}

}


6225025

HelloWorldApplet.java

웹 브라우저

혹은

appletviewer

자바 컴파일러

(javac)

HelloWorldAppet.class

실행결과

HTML문서

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


6225025

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

  • 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


6225025

  • 프로그래밍 환경

    • 프로그램 작성

    • 편집기, 디버거

  • 운영 환경

    • 프로그램 실행

    • 컴파일러, 실행시간 지원 시스템, 라이브러리 시스템

    • JDK(Java Developers Kit)

  • 통합 환경(IDE)

    • Visual J++, Jbuilder, Symantec Cafe


6225025

자바환경과 자바 프로그램

2.1 자바 개발 환경

2.2 자바 통합환경

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

2.4 자바 응용 프로그램

2.5 자바 애플릿 프로그램


6225025

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


6225025

2.2 자바 통합환경

  • 선(Sun)사의 JDK는 자바프로그램을 개발하는데 필요한 컴파일러, 인터프리터 등을 제공한다. 하지만 통합 개발 환경을 지원하지 않기 때문에 프로그램을 작성하는데 불편하다.

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

  • 자바를 처음 시작하는 사용자나 초보자에게 자바 프로그래밍을 위해 단순한 편집기인 EditPlus나 준 비주얼 도구인 Kawa의 사용을 권한다

    • Kawa : 전문적인 통합환경과 같은 기능을 제공하지는 못하지만 프로그래밍을 위한 기본적인 통합환경의 기능을 충실하게 제공하고 있다. Kawa는 SDK를 기반으로 동작

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


6225025

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

  • 자바 응용 프로그램

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

  • 자바 애플릿 프로그램

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

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

    • 네트워크를 통하여 실행될 수 있으므로 개발환경과 실행환경의 독립성이 보장된다.


6225025

2.4 자바 응용 프로그램

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

  • // 프로그램 : Example1.java

  • class Example1 {

  • public static void main(String args[]) {

  • System.out.println("안녕하세요!! 첫 번째 자바 프로그램입니다");

  • }

  • }


6225025

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


6225025

2.5 자바 애플릿 프로그램

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

// 프로그램 : Example2.java

import java.applet.*;

import java.awt.*;

public class Example2 extends Applet {

public void paint(Graphics g) {

g.drawString("안녕하세요!! 두 번째 자바 프로그램입니다!", 100,60)

}

}


6225025

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

  • 자바 컴파일러를 사용하여 번역 : javac Example2.java

  • 애플릿을 실행하기 위해서는 애플릿을 로드하는 HTML 파일을 작성하여야 한다.

<HTML>

<HEAD>

<TITLE> 자바 프로그램 테스트 02 </TITLE>

</HEAD>

<BODY>

<CENTER>

<APPLET CODE= "Example2.class" WIDTH=400 HEIGHT=200 >

</APPLET>

</CENTER>

</BODY>

</HTML>


6225025

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


6225025

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


6225025

자바의 기본 패키지

  • java.lang

    • 자바 컴파일러에 의해 자동으로 import

  • java.io

    • 스트림 입출력, 파일 입출력에 관련된 클래스

    • java.net 패키지

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

  • java.util

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

  • java.awt - Abstract Window Toolkit

  • . . .


  • Login