Download presentation
Presentation is loading. Please wait.
1
자바 입문
2
자바의 개요 자바의 소개 애플릿과 애플리케이션 자바의 기본 패키지 자바의 기본 특징 자바의 주요 특징
3
자바 언어의 역사 [1/3] Sun Microsystems Inc. 1990년 “그린프로젝트”로 시작
James Gosling과 Arthur Van Hoff 1990년 “그린프로젝트”로 시작 1991년 가전제품을 위한 언어로 개발 범용 개발 언어로 발전 Java James Gosling, Arthur Van Hoff, Andy 인도네시아 산 커피 원료 이름
4
자바 언어의 역사 [2/3] 1995년 5월 : JDK(java Development Kit) 알파버젼 발표
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발표
5
자바 언어의 역사 [3/3] 모든 OS, 플랫폼 및 GUI 에서 작동될 수 있는 분산 응용 프로 그램은 없을까 ?? PC
Server Mac Client-server 환경 NETWORK
6
자바란? 자바가 어디에 쓰이는지? 왜 배워야 하는지? 어떻게 활용할 수 있는지?
자바는 C계열 언어로 프로그래밍 언어 중에서 5세대 언어에 속하는 새로운 언어이다. 1G 2G 5G 3G 4G 기계어 어셈블리 C FORTRAN BASIC PASCAL COBOL VB DELPHI PB JAVA C#
7
자바의 주요 특성 간단하며 친숙한 언어 객체지향 언어 플랫폼에 독립적(분산 환경에 적합) 견고하고 보안에 강하다(안정성)
이식성이 강하다 멀티스레드를 지원
8
간단하며 친숙한 언어 설계 목표 : C/C++의 복잡한 기능 일부 삭제 친숙한 언어
작고 간단해서 쉽게 프로그래밍하고, 쉽게 디버깅하고, 쉽게 배울 수 있도록 하는 것 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 이진 파일
12
플랫폼에 독립적 [3/3] 자바 개발 환경 (Pentium) Pentium 코드 (플랫폼 독립적) (PowerPC)
자바 컴파일러 (Pentium) (PowerPC) (SPARC) 자바 인터프리터 Pentium PowerPC SPARC 코드 바이트코드 (플랫폼 독립적)
13
견고하고 보안에 강하다 포인터 제거 엄격한 형 검사 디버깅이 어려운 run-time 에러 발생 감소
strongly typed language
14
동적이고 멀티 스레드를 지원 동적 링크 언어차원에서 멀티스레드를 지원
15
C/C++에서 제거된 특성 [1/2] typedef문, #define문 구조체(struct)와 공용체(union)
클래스와 인터페이스 구조체(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 = f ; myInt = myFloat ; 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!" ) ; } System 클래스 PrintStream 형의 객체 PrintStream 클래스의 메소드
19
자바 애플리케이션 실행과정 자바 인터프리터 (java) 자바 컴파일러 (javac) HelloWorld.java
HelloWorld.class C:>javac HelloWorld.java C:>java HelloWorld Hello World! 실행결과
20
import java.applet.Applet;
애플릿 만들기 간단한 프로그램 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 ) ; }
21
HelloWorldAppet.class
자바 애플릿 수행과정 [1/2] 자바 컴파일러 (javac) 웹 브라우저 혹은 appletviewer HelloWorldApplet.java HelloWorldAppet.class HTML문서 실행결과
22
자바 애플릿 수행과정 [2/2] HTML 문서 작성 C:>javac HelloWorldApplet.java
<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
프로그래밍 환경 운영 환경 통합 환경(IDE) 프로그램 작성 편집기, 디버거 프로그램 실행
컴파일러, 실행시간 지원 시스템, 라이브러리 시스템 JDK(Java Developers Kit) 통합 환경(IDE) Visual J++, Jbuilder, Symantec Cafe
24
자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
2.4 자바 응용 프로그램 2.5 자바 애플릿 프로그램
25
2.1 자바 개발 환경 http://java.sun.com/j2se/1.4.1/download.html
선(Sun) 사에서 제공 JDK = SDK JDK1.2 = Java 2 SDK version 1.4.1 SDK 설치 SDK 소프트웨어 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++ 프로그램과 같은 일반적인 응용 프로그램
2.3 자바 응용 프로그램과 애플릿 프로그램 자바 응용 프로그램 C나 C++ 프로그램과 같은 일반적인 응용 프로그램 자바 애플릿 프로그램 WWW 검색기나 애플릿 뷰어에서 실행되는 프로그램 작고 간단한 응용에 많이 사용된다 네트워크를 통하여 실행될 수 있으므로 개발환경과 실행환경의 독립성이 보장된다.
28
2.4 자바 응용 프로그램 // 프로그램 : Example1.java class Example1 {
JDK는 별도의 편집기를 제공하지 않는다. 윈도우의 메모장이나 도스 편집기를 이용하여 프로그램을 작성 // 프로그램 : Example1.java class Example1 { public static void main(String args[]) { System.out.println("안녕하세요!! 첫 번째 자바 프로그램입니다"); }
29
응용 프로그램의 번역과 실행
30
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) }
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>
32
애플릿 프로그램의 실행 (애플릿 뷰어)
33
애플릿 프로그램의 실행 (WWW 검색기)
34
자바의 기본 패키지 java.lang 자바 컴파일러에 의해 자동으로 import java.io java.util
스트림 입출력, 파일 입출력에 관련된 클래스 java.net 패키지 소켓, 텔넷 인터페이스, URL java.util 벡터, 스택 , 해쉬테이블 등.. java.awt - Abstract Window Toolkit . . .
Similar presentations