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

Similar documents
Microsoft PowerPoint - lec1.ppt

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

02 C h a p t e r Java

No Slide Title

PowerPoint Presentation

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

PowerPoint Template

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

파워포인트

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

1

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

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

Network Programming

[Brochure] KOR_TunA

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

PowerPoint 프레젠테이션

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

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

PowerPoint Presentation

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

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

서현수

Spring Boot

Design Issues

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

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

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

JAVA PROGRAMMING 실습 08.다형성

JVM 메모리구조

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

01-OOPConcepts(2).PDF

PowerPoint Presentation

JDK이클립스

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

PowerPoint Presentation

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

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

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

Microsoft PowerPoint - 15-MARS

슬라이드 1

자바 프로그램 개발 툴 설치

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

untitled

제11장 프로세스와 쓰레드

PowerPoint Presentation

Secure Programming Lecture1 : Introduction

JAVA PROGRAMMING 실습 09. 예외처리

슬라이드 1

Microsoft PowerPoint - lec7_package [호환 모드]

PowerPoint 프레젠테이션

슬라이드 1

슬라이드 1

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

ThisJava ..

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

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

슬라이드 1

rmi_박준용_final.PDF

JavaGeneralProgramming.PDF

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

Interstage5 SOAP서비스 설정 가이드

슬라이드 1

제 1장 C#의 개요

PowerPoint 프레젠테이션

슬라이드 1

PowerPoint Presentation

Spring Boot/JDBC JdbcTemplate/CRUD 예제

1부

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

쉽게 풀어쓴 C 프로그래밊

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

JAVA PROGRAMMING 실습 05. 객체의 활용


쉽게

PowerPoint Presentation

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

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

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

슬라이드 1

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

JUNIT 실습및발표

슬라이드 1

PowerPoint 프레젠테이션

블로그_별책부록

chapter1,2.doc

PowerPoint 프레젠테이션

슬라이드 1

4장.문장

Microsoft PowerPoint - C++ 5 .pptx

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

Transcription:

강의내용 Lecture 1: Java 소개및 Eclipse 2009 학년도 1 학기 상지대학교컴퓨터정보공학부 자바의소개자바의종류자바의기본패키지자바의특징 자바프로그래밍작성및실행프로그램작성번역실행 고광만 2 범용프로그래밍언어인터넷환경모바일환경분산시스템등 자바소개 객체지향프로그래밍언어객체지향언어 (C++ 와유사 ) 복잡한기능제거 자바언어의역사 역사 James Gosling(Sun Microsystems ), 1990. 가전제품을위한언어로개발범용프로그래밍언어로발전 Java 어원 James Gosling, Arthur Van Hoff, Andy Bechtolsheim 인도네시아산커피원료이름 플랫폼 (platform) 독립적바이트코드 (Bytecode) 자바가상기계 (Java Virtual Machine; JVM) 3 4 1 1

인터넷환경과모바일환경에적합 C 계열의언어 C: 연산자, 문장등 C++: 객체지향, 예외처리, 제네릭기능자바에서확립된개념예외처리스레드 C# 에영향을미침 5 6 자바언어특징 특징 1 : 간단, 친숙한언어 특징 1 : 간단하며친숙한언어특징 2 : 객체지향언어특징 3 : 플랫폼 (platform) 독립적특징 4 : 견고하고보안에강함특징 5 : 동적링킹, 멀티스레드지원 설계목표작고간단해서쉽게프로그래밍하고, 쉽게디버깅하고, 쉽게배울수있도록하는것 C/C++ 의복잡한기능일부삭제포인터연산삭제자동적인메모리관리 친숙한언어기본기능 : 연산자와문장구조 - ANSI C( 표준 C) 언어고급기능 : 객체지향적인개념 - C++ 언어 7 8 2 2

C/C++ 에서제거된기능 typedef 문, #define 문클래스, 인터페이스 구조체 (struct) 와공용체 (union) 클래스로대체가능 함수 (function) 메소드 다중상속 (multiple inheritance) 인터페이스는다중상속지원 포인터연산제거 묵시적인형변환제거명시적인 cast 연산필요 Strongly typed language 연산자중복성제거 메모리관리 malloc() 제거 goto 문을지원하지않음다중레이블 break/continue 문 9 10 특징 2 : 객체지향언어 특성 3 : 플랫폼독립적 객체지향언어특성자료추상화 (data abstraction) 상속성 (inheritance) 다형성 (polymorphism) 아키텍처에독립적플랫폼독립적인중간코드사용 바이트코드 (bytecode) 가상기계를이용하여실행 JVM(Java Virtual Machine) 다형성 Function overloading à method overloading Operator overloading à 지원하지않음 기존개발환경과의비교전통적인컴파일링시스템플랫폼에독립적인시스템 11 12 3 3

네이티브에플리케이션 자바에플리케이션 13 14 컴파일및실행 자바플랫폼 HelloWorld.java public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); } } 자바플랫폼 : 자바가상기계와 API 장점 : 하드웨어플랫폼독립성단점 : 실행속도의저하 자바컴파일러 (javac) C:\JDK\BIN>javac HelloWorld.java 자바프로그램 HelloWorld.class 자바가상기계 (java) C:\JDK\BIN>java HelloWorld API 자바가상기계 자바플랫폼 Hello World! Hello World! 하드웨어기반플랫폼 15 16 4 4

성능향상방법 자바개발환경 Java Chip 바이트코드를직접실행하는프로세서를적용 프로그래밍언어시스템프로그래밍환경 + 운영환경 JIT(Just-In Time) Compilation 실행시간에필요에따라메소드단위로바이트코드를목적코드로바꾸어실행하는방법 프로그래밍환경 : 프로그램개발용도구편집기, 디버거통합개발환경 (IDE) Back-End 바이트코드를목적코드로모두바꾼후실행 Decompilation 바이트코드를 C 언어와같이효율이좋은고급언어로역컴파일하여실행하는방법 운영환경 : 프로그램실행환경컴파일러, 실행시간지원시스템, 라이브러리시스템 JDK(Java Development Kit) 17 18 자바플랫폼종류 Integrated Development Environment; IDE 프로그래밍환경과운영환경이결합프로그램의작성부터실행까지대화식으로수행가능한개발환경이클립스, 넷빈즈 이클립스 (Eclipse) 이클립스재단에서개발플러그인 (plug-in) 개념을가진공개통합개발환경 http://www.eclipse.org 자바플랫폼자바가상기계와 API 하드웨어의종류에따라다양한자바플랫폼존재자바표준에디션 (Java SE: Java Standard Edition) 자바엔터프라이즈에디션 (Java EE: Java Enterprise Edition) 자바모바일에디션 (Java ME: Java Micro Edition) 자바카드 (Java card) 넷빈즈 (NetBeans) Sun 사가제공하는무료통합개발환경, JDK 필요 http://www.netbeans.org 19 20 5 5

자바표준에디션 Java SE(Standard Edition) 데스크탑용프로그램에사용개발 : JDK, 이클립스, 넷빈즈등실행 : JRE(Java Runtime Environment) 설치필요 주요응용분야콘솔프로그램문자기반의콘솔을통해입출력수행그래픽프로그램그래픽사용자인터페이스 (GUI : Graphic User Interface) 를통해입출력수행애플릿웹브라우저에서실행되는간단한자바프로그램 21 22 자바엔터프라이즈에디션 Java EE(Enterprise Edition) 기업용프로그램작성을위한분산객체, 트랜잭션, 높은이식성제공개발 : 별도의 Java EE SDK 사용실행 : 여러종류의애플리케이션의조합으로동작 자바마이크로에디션 Java ME(Micro Edition) 내장형기기 (embedded device) 를위한자바플랫폼휴대폰, PDA, 셋탑박스등성능이낮고, 메모리가작은기기다양한 CPU 와운영체제가사용되어플랫폼독립성이중요 Configuration 과 Profile Configuration 기기의성능에따라구분한 API 명세 Profile 요구되는기능에따라특화된 API 모임 23 24 6 6

자바기본패키지 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 도구 이클립스이클립스설치이클립스실행하기프로그램작성하기디버깅하기 Java Development Kit 썬마이크로시스템즈사에서발표한자바프로그램개발도구컴파일러, 자바가상기계, 라이브러리, 자바디버깅을위한도구를제공썬솔라리스 (Sun Solaris) 플랫폼마이크로소프트윈도우즈용리눅스 (Linux) 시스템용등이존재 27 28 7 7

http://java.sun.com 윈도우즈의경로에자바도구가설치된경로를추가 [ 내컴퓨터 ] [ 속성 ] [ 고급 ] - [ 환경변수 ] 29 30 [ 새로만들기 ] 변수이름 : Path 변수값 : JDK 를설치한경로와 \bin javac 자바소스파일을자바클래스파일로컴파일해주는도구 형식 : javac [Options] SourceFileName.java 예 : javac HelloWorld.java 주요실행옵션 실행옵션 - classpath path, - cp path 설명 컴파일에필요한클래스경로를지정한다. path 에는파일시스템경로와 JAR 파일이름이올수있다. -d dir 클래스파일를생성할디렉토리를지정한다. -g 디버깅정보를가진클래스파일을생성한다. -nowarn 컴파일시, 경고를출력하지않는다. -verbose 컴파일시, 자세한메시지를출력한다. 31 32 8 8

java 클래스파일을읽어실행하는자바가상기계, 인터프리터 형식 : java [options] ClassName [command-line arguments] 예 : java HelloWorld jar 자바프로그램을압축하는유틸리티, JAR 파일을관리하는도구 형식 : jar [option] destination FileName [FileNames] 예 : jar cf sample.jar *.class 주요실행옵션 실행옵션 - classpath path, -cp path 설명 실행에필요한클래스경로를지정한다. path 에는파일시스템경로와 JAR 파일이름이올수있다. javadoc 자바소스파일에있는문서주석 (Document comment) 으로부터 HTML 문서로구성된자바 API 문서를생성하는도구 -DPropertyName=NewValue 자바의시스템속성 (property) 값을지정한다. -verbose 실행시, 발생하는다양한정보를출력한다. -enableassertions, -ea 실행시, 단정검사를활성화한다. 형식 : javadoc [option] JavaSourceFileName 예 : javadoc HelloWorld.java -disableassertions, -da 실행시, 단정검사를비활성화 ( 기본값 ) 한다. 33 34 jdb 자바애플리케이션을디버그하기위해서사용하는도구 형식 : jdb [options] ClassName [arguments] 예 : jdb HelloWorld 특징이클립스재단에서관리하는공개소스프로젝트다양한플랫폼에서실행자바를비롯한다양한언어를위한통합개발환경지원플러그인기반으로구성되어있어쉽게기능확장가능 javah 자바네이티브인터페이스 (JNI; Java Native Interface) 에필요한 C/C++ 헤더파일 (Header File) 을생성해주는도구 형식 : javah [option] ClassName 예 : javah HelloWorld 35 36 9 9

http://www.eclipse.org/ Eclipse IDE for Java Developers 선택, 다운로드후압축해제 eclipse.exe 파일실행 프로젝트관리에필요한정보저장하는폴더설정 37 38 1 Package Explorer, Hierarchy 2 편집기 (Java Editor) 3 작업목록 (Task List) 4 Outline 탭 5 Problems 탭, Javadoc 탭, Declaration 탭 새프로젝트 (New Project) 마법사 File New Project 39 40 10 10

클래스를작성 File New Class 41 42 디버그모드로의전환디버그버튼중단점설정후기능키 F11 1 : Debug 탭 2 : Variables 탭, Breakpoints 탭 중단점설정하기원하는소스코드라인에서 <Ctrl+Shift+B> 여백지시막대의단축메뉴에서 Toggle Breakpoint 선택중단점해제하기설정된중단점라인에서 <Ctrl+Shift+B> 설정된중단점의단축메뉴에서 Toggle Breakpoint 선택 43 44 11 11

한단계씩코드실행변수또는객체의값을살펴볼때유용중단점이설정된지점부터디버깅시작 Run Step Into 메뉴선택하거나기능키 <F5> 소스코드의세부적인추적 (trace) 이가능 메소드단위실행메소드호출후변수또는객체의값을확인하거나객체에관한연산후값을살펴볼때유용 Run Step Over 메뉴선택하거나기능키 <F6> 45 46 변수값확인하기변수나객체를마우스커서로가리킴 Variables 탭지역변수와현재객체의필드값확인 Debug 탭시스템프로세스와스레드, 스택프레임확인 47 12 12