Microsoft PowerPoint - lec1.ppt

Similar documents
인터넷환경과모바일환경에적합 C 계열의언어 C: 연산자, 문장등 C++: 객체지향, 예외처리, 제네릭기능자바에서확립된개념예외처리스레드 C# 에영향을미침 5 6 자바언어특징 특징 1 : 간단, 친숙한언어 특징 1 : 간단하며친숙한언어특징 2 : 객체지향언어특징 3 : 플랫

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft PowerPoint - java1-lecture1.ppt [호환 모드]

PowerPoint 프레젠테이션

Microsoft PowerPoint - java1-lecture1.ppt [호환 모드]

PowerPoint 프레젠테이션

02 C h a p t e r Java

PowerPoint Presentation

No Slide Title

Microsoft PowerPoint - java1-lecture1.ppt [호환 모드]

쉽게 풀어쓴 C 프로그래밍

PowerPoint Template

파워포인트

PowerPoint 프레젠테이션

1

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Microsoft PowerPoint - chap01-C언어개요.pptx

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

Network Programming

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

PowerPoint 프레젠테이션

[Brochure] KOR_TunA

4S 1차년도 평가 발표자료

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Spring Boot

서현수

초보자를 위한 자바 2 21일 완성 - 최신개정판

PowerPoint Presentation

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

JAVA PROGRAMMING 실습 08.다형성

JVM 메모리구조

Design Issues

01-OOPConcepts(2).PDF

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

PowerPoint Presentation

gnu-lee-oop-kor-lec06-3-chap7

PowerPoint Presentation

JDK이클립스

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드]

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

B.3 JDBC 설치 JDBC Java DataBase Connectivity 는자바에서 DBMS의종류에상관없이일관된방법으로 SQL을수행할수있도록해주는자바 API Application Program Interface 다. 이책에서는톰캣과 SQL Server 간의연결을위

Microsoft PowerPoint - 15-MARS

자바 프로그램 개발 툴 설치

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

untitled

PowerPoint Presentation

Secure Programming Lecture1 : Introduction

JAVA PROGRAMMING 실습 09. 예외처리

슬라이드 1

Microsoft PowerPoint - lec7_package [호환 모드]

PowerPoint 프레젠테이션

슬라이드 1

슬라이드 1

슬라이드 1

데이터베이스_오라클_부록(최종).indd

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

슬라이드 1

제11장 프로세스와 쓰레드

rmi_박준용_final.PDF

JavaGeneralProgramming.PDF

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

Interstage5 SOAP서비스 설정 가이드

슬라이드 1

제 1장 C#의 개요

PowerPoint 프레젠테이션

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

PowerPoint Presentation

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

쉽게 풀어쓴 C 프로그래밊

예외 예외정의예외발생예외처리예외전파 단정 단정의선언 단정조건검사옵션 2

JAVA PROGRAMMING 실습 05. 객체의 활용

쉽게

ThisJava ..

SaaS 플랫폼을 위한 Web 2.0기반 서비스 제공 미들웨어 기술 연구

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Spring Boot/JDBC JdbcTemplate/CRUD 예제

슬라이드 1

JUNIT 실습및발표

PowerPoint Presentation


PowerPoint 프레젠테이션

1부

블로그_별책부록

chapter1,2.doc

슬라이드 1

PowerPoint 프레젠테이션

4장.문장

Microsoft PowerPoint - hci2-lecture2.ppt [호환 모드]

Microsoft PowerPoint - lec2.ppt

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap-02.pptx

Transcription:

Lecture 1: Java 소개및 Eclipse 2008 학년도 1 학기 상지대학교컴퓨터정보공학부 고광만

강의내용 자바의소개 자바의종류자바의기본패키지자바의특징 자바프로그래밍작성및실행 프로그램작성번역실행 2

범용프로그래밍언어 인터넷환경모바일환경분산시스템등 자바소개 객체지향프로그래밍언어 객체지향언어 (C++ 와유사 ) 복잡한기능제거 플랫폼 (platform) 독립적 바이트코드 (Bytecode) 자바가상기계 (Java Virtual Machine; JVM) 3

역사 자바언어의역사 James Gosling(Sun Microsystems ), 1990. 가전제품을위한언어로개발범용프로그래밍언어로발전 Java 어원 James Gosling, Arthur Van Hoff, Andy Bechtolsheim 인도네시아산커피원료이름 4

인터넷환경과모바일환경에적합 5

C 계열의언어 C: 연산자, 문장등 C++: 객체지향, 예외처리, 제네릭기능 자바에서확립된개념 예외처리스레드 C# 에영향을미침 6

자바언어특징 특징 1 : 간단하며친숙한언어특징 2 : 객체지향언어특징 3 : 플랫폼 (platform) 독립적특징 4 : 견고하고보안에강함특징 5 : 동적링킹, 멀티스레드지원 7

설계목표 특징 1 : 간단, 친숙한언어 작고간단해서쉽게프로그래밍하고, 쉽게디버깅하고, 쉽게배울수있도록하는것 C/C++ 의복잡한기능일부삭제 포인터연산삭제자동적인메모리관리 친숙한언어 기본기능 : 연산자와문장구조 - ANSI C( 표준 C) 언어고급기능 : 객체지향적인개념 - C++ 언어 8

C/C++ 에서제거된기능 typedef 문, #define 문클래스, 인터페이스 구조체 (struct) 와공용체 (union) 클래스로대체가능 함수 (function) 메소드 다중상속 (multiple inheritance) 인터페이스는다중상속지원 goto 문을지원하지않음다중레이블 break/continue 문 9

포인터연산제거 묵시적인형변환제거명시적인 cast 연산필요 Strongly typed language 연산자중복성제거 메모리관리 malloc() 제거 10

객체지향언어특성 특징 2 : 객체지향언어 자료추상화 (data abstraction) 상속성 (inheritance) 다형성 (polymorphism) 다형성 Function overloading method overloading Operator overloading 지원하지않음 11

특성 3 : 플랫폼독립적 아키텍처에독립적플랫폼독립적인중간코드사용 바이트코드 (bytecode) 가상기계를이용하여실행 JVM(Java Virtual Machine) 기존개발환경과의비교 전통적인컴파일링시스템 플랫폼에독립적인시스템 12

네이티브에플리케이션 13

자바에플리케이션 14

컴파일및실행 HelloWorld.java public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); } } 자바컴파일러 (javac) C:\JDK\BIN>javac HelloWorld.java HelloWorld.class 자바가상기계 (java) C:\JDK\BIN>java HelloWorld Hello World! Hello World! 15

자바플랫폼 자바플랫폼 : 자바가상기계와 API 장점 : 하드웨어플랫폼독립성단점 : 실행속도의저하 자바프로그램 API 자바가상기계 자바플랫폼 하드웨어기반플랫폼 16

Java Chip 성능향상방법 바이트코드를직접실행하는프로세서를적용 JIT(Just-In Time) Compilation 실행시간에필요에따라메소드단위로바이트코드를목적코드로바꾸어실행하는방법 Back-End 바이트코드를목적코드로모두바꾼후실행 Decompilation 바이트코드를 C 언어와같이효율이좋은고급언어로역컴파일하여실행하는방법 17

프로그래밍언어시스템 프로그래밍환경 + 운영환경 자바개발환경 프로그래밍환경 : 프로그램개발용도구 편집기, 디버거 통합개발환경 (IDE) 운영환경 : 프로그램실행환경 컴파일러, 실행시간지원시스템, 라이브러리시스템 JDK(Java Development Kit) 18

Integrated Development Environment; IDE 프로그래밍환경과운영환경이결합프로그램의작성부터실행까지대화식으로수행가능한개발환경이클립스, 넷빈즈 이클립스 (Eclipse) 이클립스재단에서개발플러그인 (plug-in) 개념을가진공개통합개발환경 http://www.eclipse.org 넷빈즈 (NetBeans) Sun 사가제공하는무료통합개발환경, JDK 필요 http://www.netbeans.org 19

자바플랫폼 자바가상기계와 API 자바플랫폼종류 하드웨어의종류에따라다양한자바플랫폼존재 자바표준에디션 (Java SE: Java Standard Edition) 자바엔터프라이즈에디션 (Java EE: Java Enterprise Edition) 자바모바일에디션 (Java ME: Java Micro Edition) 자바카드 (Java card) 20

21

자바표준에디션 Java SE(Standard Edition) 데스크탑용프로그램에사용개발 : JDK, 이클립스, 넷빈즈등실행 : JRE(Java Runtime Environment) 설치필요 주요응용분야 콘솔프로그램 문자기반의콘솔을통해입출력수행 그래픽프로그램 그래픽사용자인터페이스 (GUI : Graphic User Interface) 를통해입출력수행애플릿웹브라우저에서실행되는간단한자바프로그램 22

자바엔터프라이즈에디션 Java EE(Enterprise Edition) 기업용프로그램작성을위한분산객체, 트랜잭션, 높은이식성제공개발 : 별도의 Java EE SDK 사용실행 : 여러종류의애플리케이션의조합으로동작 23

자바마이크로에디션 Java ME(Micro Edition) 내장형기기 (embedded device) 를위한자바플랫폼휴대폰, PDA, 셋탑박스등성능이낮고, 메모리가작은기기다양한 CPU와운영체제가사용되어플랫폼독립성이중요 Configuration 과 Profile Configuration 기기의성능에따라구분한 API 명세 Profile 요구되는기능에따라특화된 API 모임 24

자바기본패키지 java.lang 자바의기능을확장해주는기본적인클래스 : Object, String 등자바컴파일러에의해자동으로 import java.io 스트림입출력, 파일입출력에관련된클래스제공 java.net 패키지는소켓, 텔넷인터페이스, URL 클래스제공 java.util 프로그래머에게유용한벡터, 스택, 해쉬테이블등 java.awt (Abstract Window Toolkit) 플랫폼독립적인 GUI 개발도구 java.swing 은자바로구현되어어느시스템에서도동일하게보임 25

26

JDK JDK 설치하기 JDK 도구 이클립스이클립스설치이클립스실행하기프로그램작성하기디버깅하기 27

Java Development Kit 썬마이크로시스템즈사에서발표한자바프로그램개발도구컴파일러, 자바가상기계, 라이브러리, 자바디버깅을위한도구를제공썬솔라리스 (Sun Solaris) 플랫폼마이크로소프트윈도우즈용리눅스 (Linux) 시스템용등이존재 28

http://java.sun.com 29

윈도우즈의경로에자바도구가설치된경로를추가 [ 내컴퓨터 ] [ 속성 ] [ 고급 ] - [ 환경변수 ] 30

[ 새로만들기 ] 변수이름 : Path 변수값 : JDK 를설치한경로와 \bin 31

javac 자바소스파일을자바클래스파일로컴파일해주는도구 형식 : javac [Options] SourceFileName.java 예 : javac HelloWorld.java 주요실행옵션 실행옵션 - classpath path, - cp path 설명 컴파일에필요한클래스경로를지정한다. path 에는파일시스템경로와 JAR 파일이름이올수있다. -d dir 클래스파일를생성할디렉토리를지정한다. -g 디버깅정보를가진클래스파일을생성한다. -nowarn 컴파일시, 경고를출력하지않는다. -verbose 컴파일시, 자세한메시지를출력한다. 32

java 클래스파일을읽어실행하는자바가상기계, 인터프리터 형식 : java [options] ClassName [command-line arguments] 예 : java HelloWorld 주요실행옵션 실행옵션 - classpath path, -cp path 설명 실행에필요한클래스경로를지정한다. path에는파일시스템경로와 JAR 파일이름이올수있다. -DPropertyName=NewValue 자바의시스템속성 (property) 값을지정한다. -verbose 실행시, 발생하는다양한정보를출력한다. -enableassertions, -ea 실행시, 단정검사를활성화한다. -disableassertions, -da 실행시, 단정검사를비활성화 ( 기본값 ) 한다. 33

jar 자바프로그램을압축하는유틸리티, JAR 파일을관리하는도구 형식 : jar [option] destination FileName [FileNames] 예 : jar cf sample.jar *.class javadoc 자바소스파일에있는문서주석 (Document comment) 으로부터 HTML 문서로구성된자바 API 문서를생성하는도구 형식 : javadoc [option] JavaSourceFileName 예 : javadoc HelloWorld.java 34

jdb 자바애플리케이션을디버그하기위해서사용하는도구 형식 : jdb [options] ClassName [arguments] 예 : jdb HelloWorld javah 자바네이티브인터페이스 (JNI; Java Native Interface) 에필요한 C/C++ 헤더파일 (Header File) 을생성해주는도구 형식 : javah [option] ClassName 예 : javah HelloWorld 35

특징 이클립스재단에서관리하는공개소스프로젝트다양한플랫폼에서실행자바를비롯한다양한언어를위한통합개발환경지원플러그인기반으로구성되어있어쉽게기능확장가능 36

http://www.eclipse.org/ Eclipse IDE for Java Developers 선택, 다운로드후압축해제 37

eclipse.exe 파일실행 프로젝트관리에필요한정보저장하는폴더설정 38

1 Package Explorer, Hierarchy 2 편집기 (Java Editor) 3 작업목록 (Task List) 4 Outline 탭 5 Problems 탭, Javadoc 탭, Declaration 탭 39

새프로젝트 (New Project) 마법사 File New Project 40

41

클래스를작성 File New Class 42

디버그모드로의전환 디버그버튼중단점설정후기능키 F11 1 : Debug 탭 2 : Variables 탭, Breakpoints 탭 43

중단점설정하기 원하는소스코드라인에서 <Ctrl+Shift+B> 여백지시막대의단축메뉴에서 Toggle Breakpoint 선택 중단점해제하기 설정된중단점라인에서 <Ctrl+Shift+B> 설정된중단점의단축메뉴에서 Toggle Breakpoint 선택 44

한단계씩코드실행 변수또는객체의값을살펴볼때유용중단점이설정된지점부터디버깅시작 Run Step Into 메뉴선택하거나기능키 <F5> 소스코드의세부적인추적 (trace) 이가능 45

메소드단위실행 메소드호출후변수또는객체의값을확인하거나객체에관한연산후값을살펴볼때유용 Run Step Over 메뉴선택하거나기능키 <F6> 46

변수값확인하기변수나객체를마우스커서로가리킴 Variables 탭지역변수와현재객체의필드값확인 Debug 탭시스템프로세스와스레드, 스택프레임확인 47