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

자바 입문 PowerPoint PPT Presentation


  • 111 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


자바 입문


자바의 개요

  • 자바의 소개

  • 애플릿과 애플리케이션

  • 자바의 기본 패키지

  • 자바의 기본 특징

  • 자바의 주요 특징


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

  • Sun Microsystems Inc.

    • James Gosling과 Arthur Van Hoff

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

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

  • 범용 개발 언어로 발전

  • Java

    • James Gosling, Arthur Van Hoff, Andy

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


자바 언어의 역사 [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발표


OS,

모든

플랫폼

PC

Client-server

분산

환경

GUI

에서

작동될

있는

분산

응용

프로

??

그램은

없을까

NETWORK

Server

Mac

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


자바란?

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

  • 왜 배워야 하는지?

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

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

1G

2G

5G

3G

4G

기계어

어셈블리

C

FORTRAN

BASIC

PASCAL

COBOL

VB

DELPHI

PB

JAVA

C#


자바의 주요 특성

  • 간단하며 친숙한 언어

  • 객체지향 언어

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

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

  • 이식성이 강하다

  • 멀티스레드를 지원


간단하며 친숙한 언어

  • 설계 목표 :

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

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

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

  • 친숙한 언어

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

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


객체지향 언어

  • 객체지향 언어 특성

    • 자료 추상화(data abstraction)

    • 상속성(inheritance)

    • 다형성(polymorphism)

  • 다형성

    • function overloading --- method overloading


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

  • 아키텍춰에 독립적

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

    • JVM(Java Virtual Machine)

  • 기존 개발환경과의 비교


이진

파일

소스

코드

이진

파일

Pentium

컴파일러(Pentium)

이진

파일

PowerPC

컴파일러(PowerPC)

SPARC

컴파일러(SPARC)

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

  • 기존 프로그램 개발 환경


자바

인터프리터

자바

코드

자바 컴파일러

(Pentium)

Pentium

자바

바이트코드

(플랫폼 독립적)

자바

인터프리터

자바 컴파일러

(PowerPC)

PowerPC

자바

인터프리터

SPARC

자바 컴파일러

(SPARC)

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

  • 자바 개발 환경


견고하고 보안에 강하다

  • 포인터 제거

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

  • 엄격한 형 검사

    • strongly typed language


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

  • 동적 링크

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


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

  • typedef문, #define문

    • 클래스와 인터페이스

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

    • 클래스로 대체 가능

  • 함수(function)

    • 모두 메소드로 처리

  • 다중상속(multiple inheritance)

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

  • goto 문을 지원하지 않음.

    • 다중 레이블 break/continue문


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;

      ^

  • 포인터 연산을 제거.


애플릿과 애플리케이션

  • 자바 응용 프로그램

    • 애플리케이션

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

      • main() 메소드가 존재

    • 애플릿

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

      • HTML과 연계해서 실행


public class HelloWorld {

public static void main(String[] args) {

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

}

}

PrintStream 클래스의 메소드

PrintStream 형의 객체

System 클래스

애플리케이션 만들기

  • 간단한 프로그램

    • public static void main()

    • System.out.println()


HelloWorld.java

자바 컴파일러

(javac)

자바 인터프리터

(java)

HelloWorld.class

C:>javac HelloWorld.java

C:>java HelloWorld

Hello World!

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

실행결과


애플릿 만들기

  • 간단한 프로그램

    • 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 ) ;

}

}


HelloWorldApplet.java

웹 브라우저

혹은

appletviewer

자바 컴파일러

(javac)

HelloWorldAppet.class

실행결과

HTML문서

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


자바 애플릿 수행과정[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


  • 프로그래밍 환경

    • 프로그램 작성

    • 편집기, 디버거

  • 운영 환경

    • 프로그램 실행

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

    • JDK(Java Developers Kit)

  • 통합 환경(IDE)

    • Visual J++, Jbuilder, Symantec Cafe


자바환경과 자바 프로그램

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


2.2 자바 통합환경

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

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

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

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

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


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

  • 자바 응용 프로그램

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

  • 자바 애플릿 프로그램

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

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

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


2.4 자바 응용 프로그램

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

  • // 프로그램 : Example1.java

  • class Example1 {

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

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

  • }

  • }


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


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)

}

}


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

  • 자바 컴파일러를 사용하여 번역 : 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 검색기)


자바의 기본 패키지

  • java.lang

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

  • java.io

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

    • java.net 패키지

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

  • java.util

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

  • java.awt - Abstract Window Toolkit

  • . . .


  • Login