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

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

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

PowerPoint Template

PowerPoint 프레젠테이션

Microsoft PowerPoint - lec1.ppt

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

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

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

No Slide Title

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

JDK이클립스

쉽게 풀어쓴 C 프로그래밍

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

PowerPoint 프레젠테이션

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

파워포인트

[Brochure] KOR_TunA

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

슬라이드 1

PowerPoint Presentation

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

1부

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

PowerPoint Presentation

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

PowerPoint Template

Network Programming

02 C h a p t e r Java

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

Spring Boot

앞부속

Microsoft PowerPoint - 권장 사양

Intro to Servlet, EJB, JSP, WS

Microsoft PowerPoint - chap-02.pptx

chapter1,2.doc

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

자바 프로그램 개발 툴 설치

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

쉽게 풀어쓴 C 프로그래밊

1

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

Angry MOMO Presentation

에접속하여상단메뉴에서 [DOWNLOADS] 를클릭한다. 다운로드페이지에서 Java 카테고리에있는 [Java SE] 를클릭하고페이지가바뀌면 [Java Platform (JDK)] 를클릭한다. JDK 버전은다운로드하는시점에따라다를수

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

슬라이드 1

슬라이드 1

JVM 메모리구조

PowerPoint 프레젠테이션

목차 1 전자정부프레임워크연동고려사항 실행환경 개발환경 어플리케이션배포 개발환경구성 Liberty profile 설치 Liberty profile v8.5.5 다운로드

본 강의에 들어가기 전

52 l /08

Microsoft PowerPoint - Windows CE Programming_2008 [호환 모드]

슬라이드 1

JavaGeneralProgramming.PDF

PowerPoint Presentation

Microsoft PowerPoint - chap-02.pptx

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

FileMaker 15 ODBC 및 JDBC 설명서

슬라이드 1

PowerPoint 프레젠테이션

untitled

쉽게 풀어쓴 C 프로그래밍

Secure Programming Lecture1 : Introduction

문서의 제목 나눔고딕B, 54pt

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

PowerPoint 프레젠테이션

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

PowerPoint 프레젠테이션

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Apache Ivy

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

서현수

untitled

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

슬라이드 1

PowerPoint 프레젠테이션

슬라이드 1

C 언어와 프로그래밍 개요

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

슬라이드 1

Cisco FirePOWER 호환성 가이드

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

문서의 제목 나눔고딕B, 54pt

JAVA 플랫폼 개발 환경 구축 및 활용

Microsoft PowerPoint - 1장 C 프로그래밍 시작하기 pptx

PowerPoint 프레젠테이션

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

ICT03_UX Guide DIP 1605

문서의 제목 나눔명조R, 40pt

슬라이드 1

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

Transcription:

자바란무엇인가? 기초사항 514760-1 2017 년가을학기 8/28/2017 박경신 1991년그린프로젝트 (Green Project) 선마이크로시스템즈의제임스고슬링 (James Gosling) 에의해시작 - 가전제품에들어갈소프트웨어를위해개발 목적 플랫폼호환성문제해결 기존언어로작성된프로그램은 PC, 유닉스, 메인프레임등플랫폼간에호환성없음 소스를다시컴파일하거나프로그램을재작성해야하는단점 플랫폼독립적인언어개발 모든플랫폼에서호환성을갖는프로그래밍언어필요 네트워크, 특히웹에최적화된프로그래밍언어의필요성대두 메모리사용량이적고다양한플랫폼을가지는가전제품에적용 가전제품 : 작은량의메모리를가지는제어장치 내장형시스템요구충족 2009 년에선마이크로시스템즈를오라클에서인수 Java Version 자바의특징 Java 1.0 1996 211개클래스 applet Java 1.1-1.4 1997-2004 2700개클래스 ME, SE, EE version 내부클래스, AWT, 자바빈즈, Reflection, Collection, Swing, 핫자바 JVM, JavaSound, JNDL, assertion, regular expression, XML parser Java 1.5-1.6 2004-2006 3700개클래스 Generic class, foreach, 가변인수, 오토박싱, 메타데이터, 열거형, 정적 import, interface Java 1.7-1.8 2011-2017 4200개클래스 Lambda expression, Parallel Array Sorting, Base64 Encoding & Decoding API, Date and Time API, Password- Based-Encryption(PBE)

자바의특징 WORA(Write Once Run Anywhere) 한번작성된코드는모든플랫폼에서바로실행되는자바의특징 C/C++ 등기존언어가가진플랫폼종속성극복 OS, H/W에상관없이자바프로그램이동일하게실행 네트워크에연결된어느클라이언트에서나실행 웹브라우저, 분산환경지원 WORA를가능하게하는자바의특징 바이트코드 (byte code) 자바소스를컴파일한목적코드 CPU에종속적이지않은중립적인코드 JVM에의해해석되고실행됨 JVM(Java Virtual Machine) 자바바이트코드를실행하는 ( 소프트웨어 ) 플랫폼종속성 (Platform Dependency) 인텔 CPU + 리눅스 인텔 CPU를가진리눅스환경에서개발 C/C++ 응용프로그램 실행 실행되지않음 Apple 사의 MAC PC 플랫폼 = 하드웨어플랫폼 + 운영체제플랫폼 실행되지않음 프로그램의플랫폼호환성없는이유 기계어가 CPU 마다다름 운영체제마다 API 다름 운영체제마다실행파일형식다름 인텔 CPU + 윈도우노트북 플랫폼독립성 자바는플랫폼독립성 - WORA(Write Once Run Anywhere) Write Once!! 자바응용프로그램 자바컴파일러는특정한컴퓨터가아닌가상적인기계 (virtual machine) 를위한바이트코드를생성함 자바바이트코드 *.class Run Anywhere!! 실행 실행 실행 Windows 7 리눅스 인텔 CPU + 리눅스 인텔 CPU + 윈도우노트북 Intel CPU AMD CPU Apple 사의 MAC PC

(JVM : Java Virtual Machine) 각기다른플랫폼에설치 동일한자바실행환경제공 자체는플랫폼에종속적 는플랫폼마다각각작성됨 예 ) 리눅스에서작동하는는윈도우에서작동하지않음 개발및공급 자바개발사인오라클외 IBM, MS 등다양한회사에서제작공급 자바의실행 가클래스파일 (.class) 의바이트코드실행 바이트코드 바이트코드 에서실행가능한바이너리코드 바이트코드는컴퓨터 CPU에의해직접실행되지않음 가작동중인플랫폼에서실행 가인터프리터방식으로바이트코드해석 클래스파일 (.class) 에저장 자바와 C/C++ 의실행환경차이 자바와 C/C++ 의실행환경차이 자바 if (i>0) { i = i*10; } i= i j; System.out.println(i); 자바소스파일 (Test.java) C/C++ if (i>0) { i = i*10; } i= i j; cout << i; 소스파일 (Test.cpp) 컴파일러 컴파일러 / 링커 010100000100 010101001111 010110101010 010111010101 010100001000 1110000000 바이트코드 (Test.class) 010100000100 010101101111 010110101010 010111110101 010100101010 1110001100 바이너리실행파일 (Test.exe) 자바프로그램 (Test.class) 운영체제 하드웨어 C++ 프로그램 (Test.exe) 운영체제 하드웨어 자바 자바는링크과정없이컴파일러가바로바이트코드생성 바이트코드는 JVM에서만실행가능 자바는필요한클래스들을프로그램실행중에동적으로로딩 동적로딩은 JVM에포함된클래스로더에의해이루어짐 ClassLoader 클래스를이용하여개발자가직접클래스로딩가능 C/C++ 컴파일 C/C++ 에서는컴파일러가중간단계인목적코드를생성 링크 링커가목적코드와라이브러리연결, 실행가능한최종실행파일생성 정적라이브러리는실행파일에포함 실행파일크기가커짐 목적코드및실행파일은플랫폼에따라다름 플랫폼이바뀌면다시컴파일및링크

자바의종류 오라클은개발환경에따라다양한자바배포판제공 Java SE 자바표준배포판 (Standard Edition) 데스크탑과서버응용개발플랫폼 Java EE 자바기업용배포판 자바를이용한다중사용자, 기업용응용개발을위한플랫폼 Java SE + 인터넷기반의서버사이드컴퓨팅관련 API 추가 응용서버, 웹서버, J2EE API, 엔터프라이즈자바빈즈 (JavaBeans) 지원, 자바서블릿 API 와 JSP 등을포함 Jave ME 자바마이크로배포판 휴대전화나 PDA, 셋톱박스등제한된리소스를갖는하드웨어에서응용개발을위한플랫폼 가장작은메모리풋프린트 Java SE 의서브셋 + 임베디드및가전제품을위한 API 정의 자바의종류 Jave FX 자바리치 - 인터넷 - 애플리케이션 (RIA: Rich Internet Application) 을생성하고배포하기위한자바클라이언트플랫폼 RIA 은서로인터넷상의다양한플랫폼에서도동일한외관으로실행 JavaFX 플랫폼은자바기술에기반을둔고성능의하드웨어가속그래픽과미디어엔진 API 를제공 Java SE JDK 와 JRE JDK(Java Development Kit) 자바응용개발환경. 개발에필요한도구포함 컴파일러, JRE (Java Runtime Environment), 클래스라이브러리, 샘플등포함 JRE(Java Runtime Environment) 자바실행환경. JVM 포함 자바실행환경만필요한경우 JRE만따로다운가능 JDK와 JRE의개발및배포 오라클의 Technology Network의자바사이트에서다운로드 http://www.oracle.com/technetwork/java/index.html JDK의 bin 디렉터리에포함된주요개발도구 javac - 자바소스를바이트코드로변환하는컴파일러 java - JRE의 bin 디렉터리에도있는자바응용프로그램실행기 jar - 자바아카이브파일 (JAR) 의생성및관리하는유틸리티 jdb - 자바디버거 appletviewer - 웹브라우저없이애플릿을실행하는유틸리티

자바로만들수있는것 자바애플리케이션 (Java application) 독립적으로실행될수있는일반응용프로그램 자바애플릿 (Java applet) 웹브라우저안에서실행되는작은프로그램 애플릿은사용할수있는자원접근에제약있음 자바로만들수있는것 자바서블릿 (Java servlet) 웹서버에서동작하는서버모듈로서클라이언트의요구를받아서그에대한처리를한후에, 실행결과를 HTML 문서형태로클라이언트컴퓨터로전송 데이터베이스서버및기타서버와연동하는복잡한기능구현시사용. 웹서버에의해실행통제받음. 웹브라우저 웹서버 인터넷 JVM 서버 servlet 서버 자바로만들수있는것 JSP (Java Server Pages) HTML안에자바스크립트코드를넣으면웹페이지를사용자와상호작용하도록만들수있음 JSP는서버에서실행되고클라이언트요청에따라서동적으로 HTML, XML 웹페이지를생성 자바로만들수있는것 안드로이드애플리케이션 안드로이드개발자들은자바의 SE 버전중에서 AWT와스윙 (swing) 을제외한거의모든패키지를사용함 개발언어는자바를사용하나효율성때문에자체적인달빅 (Dalvik) 가상머신을구현함. 달빅은기존바이트코드와호환성이없어변환이필요함.

JDK 설치 Java SE Download http://www.oracle.com/technetwork/java/javase/downloads/jdk 8-downloads-2133151.html JDK 설치 JDK8 Demos and Samples Download JDK 설치후디렉터리구조 JDK 설치 경로설정하기 자바개발, 실행하는데필요한도구와유틸리티 자바로 DB 응용프로그램을개발하는데필요한도구자바프로그래밍예제와소스코드네이티브코드프로그래밍에필요한헤더파일자바런타임환경. JVM, 클래스라이브러리등실행에필요한파일 JDK 의기본라이브러리외추가클래스라이브러리와개발도구에서필요로하는여러파일 자바프로그램샘플소스코드 자바 API 클래스들에대한자바소스

JDK 설치 설치된자바버전확인 자바프로그램개발단계 소스파일.java 컴파일후바이트코드로변환.class 바이트코드를메모리로적재및검증 JVM에서바이트코드실행 자바프로그램개발단계 소스코드 Hello.java 자바프로그램개발단계 Disassemble 클래스파일에들어있는바이트코드를텍스트로볼수있게변환하는작업 (JDK의 javap.exe 이용 ) Hello.class 파일을디스어셈블한결과 Hello.bc 파일생성 컴파일 javac Hello.java 실행 java Hello

자바 API 자바 API(Application Programming Interface) JDK 에포함된클래스라이브러리 주요한기능들을미리구현한코드 ( 클래스라이브러리 ) 의집합 개발자는 API 를이용하여쉽고빠르게자바프로그램개발 API 에서정의한규격에따라클래스사용 자바패키지 (Package) 서로관련된클래스들을분류하여묶어놓은것 계층구조로되어있음 클래스의이름에패키지이름도포함 다른패키지에동일한이름의클래스존재가능 자바 API( 클래스라이브러리 ) 는 JDK에패키지형태로제공됨 필요한클래스가속한패키지만 import하여사용 개발자자신의패키지생성가능 자바 API 문서 http://docs.oracle.com/javase/8/docs/api/index.html 자바 IDE 소개와설치 자바 IDE (Integrated Development Environment) 통합개발환경 편집, 컴파일, 디버깅을한번에할수있는통합된개발환경 이클립스 (Eclipse) 자바응용프로그램개발을위한통합개발환경 IBM에의해개발된오픈소스프로젝트 http://www.eclipse.org/downloads/ 에서다운로드 넷빈즈 (Netbeans) https://netbeans.org/ IntelliJ Idea http://www.jetbrains.com/idea/download/ Intellij 설치하기 Intellij Community (ideaic-2016.2.2.exe) http://www.jetbrains.com/idea/download/ 다운로드

Eclipse 설치하기 이클립스 Oxygen (eclipse-java-oxygen-r-win32.zip) https://www.eclipse.org/downloads/ 다운로드 eclipse.exe 실행 자바프로그램작성 이클립스프로젝트생성 File->New->Java Project 자바프로그램작성 클래스생성 [ 프로젝트 ]->New->Class 자바프로그램작성 클래스에소스코드추가

자바프로그램컴파일오류 컴파일오류시 quick fix 를눌러서수정 자바프로그램실행 프로그램실행 Run (Ctrl+F11) 자바프로그램실행 이클립스프로젝트디렉토리 콘솔창에서실행 LAB0 HelloWorld 프로그램을작성한다. JDK 설치 IDE 설치 환경설정 이클립스를사용한자바프로그램작성 프로젝트디렉토리안에보고서 (1~2장) 를넣고 Lab0_ 학번 _ 이름.zip 압축한후제출