강좌명 : 자바프로그래밍 (Java Programming)

Slides:



Advertisements
Similar presentations
제 1 장 자바 소개 Power Java. 프로그램이란 ? 그림 1-1. 프로그램은 작업 지시서와 같다.
Advertisements

2014 Advanced Programming Practice(1), 제 1 장 자바 소개 1.
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
제 1 장 기초 사항 어서와 Java 는 처음이지 ! IT 응용시스템공학과 김형진 교수.
KUMHO SOFTWARE DEVELOPMENT 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램 2.4 자바 응용 프로그램 2.5 자바 애플릿 프로그램 2. 자바 환경과 자바 프로그램.
CHAP. 2 안드로이드 개발 도구 설치. © 2012 생능출판사 All rights reserved 개발 과정의 개요.
1 강. 안드로이드 개요 및 개발 환경 구축 - 안드로이드 개요 -JDK 설치 -Path 설정 - 이클립스 설치 -ADT, SDK 설치 Lecturer Kim Myoung-Ho Nickname 블스
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
2016 유성환 Hybrid MOBILE.
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Security Solutions (S/W) - Fortify
자바 언어의 이해 Understanding of Java Programming
명품 JAVA Essential.
제2장 자바 개발 도구.
Power Java 제3장 이클립스 사용하기.
어서와 Java는 처음이지! 제1장 기초 사항.
Power Java 제3장 이클립스 사용하기.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
제1장 기초 사항 융합기술공학과 김형진 교수.
어서와 Java는 처음이지! 제1장 기초 사항 IT응용시스템공학과 김형진 교수.
자바 개요.
1장. 자바 개요.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Power Java 제2장 자바 개발 도구.
콘텐츠 제작 프로젝트 [교재] - OpenGL 프로그래밍 가이드, 제4판, Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis 공저, 남기혁 역, 정 보문화사, [참고자료] OpenGL Programming.
1. JSP(Java Server Pages) 소개
1장 자바 개발환경 구축하기.
JSP Programming with a Workbook
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
Java 기초 (Java JDK 설치 및 환경설정)
Power Java 제2장 자바 개발 도구.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Visual Basic .NET 처음 사용하기.
컴퓨터정보공학부 서버 안내 [ IBM x3500 ] it.sangji.ac.kr ict.sangji.ac.kr 혹은
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
Cross Compiler 설치.
Power Java 제1장 자바 소개.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
Wireless Java Programming
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
자바응용.
2장. JSP 프로그래밍을 위한 환경구성 제2장.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
제목소개 1. 안드로이드소개 2. 패킷캡쳐를 위한 환경 소개 3. ndk 소개 4. lipcap 5. 6.도식화 그림
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
자율주행 차량용 드라이빙 컴퓨팅 하드웨어 플랫폼 05
웹디자인
자바 5.0 프로그래밍.
Part 1 개요 Chapter 1 : 컴퓨터와 프로그램 그리고 자바 Chapter 2 : 자바의 환경
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
암호학 응용 Applied cryptography
Introduction to JSP & Servlet
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
Chapter 01 자바의 개요 자바는 최초 전자기기의 내장형 소프트웨어를 위해 개발되었으나, 최근 엔터프라이즈 응용에도 폭 넓게 활용됨 자바의 특징과 실행방법, 개발 환경 및 도구에 대해 소개.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
발표자 : 이지연 Programming Systems Lab.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
JAVA 프로그래밍 16장 JNLP.
J2SE 설치 부산대학교 인공지능 연구실.
자바 암호 프로그래밍 Java Cryptography Programming\ 2. 자바 프로그래밍 기초
Presentation transcript:

강좌명 : 자바프로그래밍 (Java Programming) 강좌번호 : E076510-01 (2016학년 1학기, 컴퓨터공학과) 이수구분 : 전공선택(컴퓨터공학과, 2학년) 강의시간 : 수15:00-17:50 강의실 : 7호관 414호 담당교수 : 김권양(컴퓨터공학과), 7호관 401호 kykim@kiu.ac.kr, 053-600-5561 http://ce.kiu.ac.kr/~kykim/index.html 평가 : 중간고사(30%), 기말고사(30%), 보고서(20%), 출석(20%) 1

University of Central Florida 담당교수 http://ce.kiu.ac.kr/~kykim/ Mail : kykim@kiu.ac.kr ETRI 경북대학교 한국지능시스템학회 University of Central Florida 경일대학교 한국전자통신연구원 컴퓨터공학과 지능정보미디어 School of Computer Info. 컴퓨터공학과

교재 소개 교재 : 어서와 Java는 처음이지! 저자 : 천인국 출판사 : 인피니티북스 출판년도 : 2015. 11. 참고문헌

WORA(Write Once Run Anywhere) James A. Gosling

어서와 Java는 처음이지! 제1장 기초 사항

프로그램 프로그램은 작업지시서와 같다.

가장 많이 사용되는 언어는?

자바는 누가 만들었을까?

누구? 9 제임스 고슬링(James A. Gosling, 1955년 5월 19일 ~ )은 캐나다의 소프트웨어 개발자이다. 자바를 최초 개발하여 '자바의 아버지'라 불리며, 가장 영향력 있는 Programmer 중 한 사람이다. Java 이외에도 Multi-Processor용 UNIX와 Complier, Mail System, 데이터 인식 시스템 등을 개발하였다. 개발자 가운데서는 마이크로소프트의 빌 게이츠(William H. Gates)만큼이나 유명하지만, 개발자 특유의 '몰두' '은둔' 성향 때문에 세상에 널리 알려지지는 않았다. 그는 또 Java커피를 하루에도 10여 잔 씩 마시는 Java 예찬론자이기도 해서, 'Java'라는 명칭을 인도네시아 섬 이름으로 유명한 커피 재배지에서 따왔다고 한다. (사진 출처 : 위키백과)

자바의 역사 1991년에 Sun에서는 제임스 고슬링(James Gosling)를 비롯한 Green 연구팀에서는 가정용 전자 제품에 사용할 수 있는 작은 컴퓨터 언어를 설계 처음에 C++를 사용하여 운영 체제를 만들려고 시도하였는데 C++의 복잡도로 인하여 실패 Green 프로젝트를 위한 더 나은 언어를 직접 만들게 되는데 이것이 바로 자바. Green 프로젝트는 Time Warner의 주문형 비디오 시스템을 개발하다가 Time Warner가 경쟁사인 실리콘 그래픽스 사를 선택하는 바람에 결국 실패 1993년, 그래픽 기반의 월드 와이드 웹(world wide web)이 발표되고 자바의 개발자들은 곧 이러한 웹 기반의 응용 프로그램에는 자바와 같은 기계 중립적인 언어가 이상적이라는 것을 발견

자바 버전 Java 1.7 : 성능개선 (July 28, 2011) 이진수 표기 추가, 가독성을 위해 수 표기에 밑줄(underscore)을 허용, 스위치 문(switch에서 문자열 사용, 제네릭 타입 객체 생성 시 타입 추론(type inference), 자동 자원 해제를 위한 try 문법, 여러 예외 타입을 동시에 잡도록 허용하는 문법 등이 추가되었다. Java 1.8 : (March 18, 2014) - Lambda Project(함수형 언어), 병렬작업 API

JDK8 람다식(Lambda expressions) 작은 가상기계(VM) 병렬 배열 정렬(Parallel Array Sorting) 컬럭션을 위한 대용량 데이터 처리 Base64 엔코딩과 디코딩을 위한 표준 API 새로운 날짜, 시간 API(Date & Time API) 강화된 패스워드기반 암호화(Password-Based-Encryption (PBE))

자바의 특징

Write once, Run everywhere! 자바의 가장 큰 장점 Write once, Run everywhere!

기존의 언어들의 실행방식

자바 가상 기계 Write Once! Run Everywhere!

자바 가상 기계 자바 컴파일러는 특정한 컴퓨터가 아닌 가상적인 기계(virtual machine)를 위한 코드를 생성한다.

바이트 코드 자바 프로그램 바이트 코드 public static void main(String[] args) { public class Hello { public static void main(String[] args) { System.out.println("Hello"); } 바이트 코드 Compiled from "Hello.java" public class Hello extends java.lang.Object{ public Hello(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello World! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return }

자바 가상 기계 자바 바이트 코드 *.class 자바 가상 기계 자바 가상 기계 Windows 7 리눅스 Intel CPU AMD CPU

자바 가상 기계와 자바 응용프로그램의 실행 실행에 필요한 자바 클래스 라이브러리(JDK APIs) 20 실행에 필요한 자바 클래스 라이브러리(JDK APIs) ................... Object.class String.class 자바 프로그래밍 클래스 로딩 Draw.java Draw.class 자바 가상 기계 자바 가상 기계 Apple 맥 운영체제 Apple H/W 자바 가상 기계 자바 컴파일러 Hello.java Hello.class 윈도우 운영체제 휴대폰 운영체제 Shape.java Shape.class 인텔 PC H/W 휴대폰 H/W (소스 코드) (바이트 코드)

중간 점검 문제 바이트 코드 자바 가상 기계 특정한 컴퓨터가 아닌 중간적인 코드를 생성하고 이것을 해석하여 실행하는 구조로 되어 있기 때문이다.

중간 점검 바이트 코드와 자바 가상 기계 C 언어는 절차적 언어, 자바는 객체 지향 언어 여러 작업을 동시에 실행하는 것

자바의 버전 Java SE(Standard Edition) Java EE(Enterprise Edition) Java ME(Micro Edition)

자바의 버전

Java SE Java SE는 데스크탑과 서버에서 자바 애플리케이션을 개발하고 실행할 수 있게 해주며 임베디드 환경(embedded environment)과 실시간 환경(real-Time environments)도 지원한다.

Java SE

Java EE Java EE는 기업용 애플리케이션을 개발하는 데 필요한 여러 가지 도구 및 라이브러리들을 모아 놓은 것 응용 서버, 웹서버, J2EE API, 엔터프라이즈 자바 빈즈(JavaBeans) 지원, 자바 서블릿 API 와 JSP 등을 포함

Java ME Java ME는 핸드폰, PDA, TV 셉톱박스, 프린터와 같은 모바일 기기나 다른 엠베디드 장치들에서 실행되는 애플리케이션을 위한 강인하고 유연한 환경을 제공

JavaFX 리치-인터넷-애플리케이션(RIA: Rich Internet Application)을 생성하고 배포하기 위한 자바 클라이언트 플랫폼 RIA은 서로 인터넷 상의 다양한 플랫폼에서도 동일한 외관으로 실행된다. 자바 기술에 기반을 두고, JavaFX 플랫폼은 고성능의 하드웨어 가속 그래픽과 미디어 엔진 API를 제공

자바로 만들 수 있는 것 자바 애플리케이션(Java application) 자바 애플릿(Java applet) 독립적으로 실행될 수 있는 일반 응용 프로그램 자바 애플릿(Java applet) 웹 브라우저 안에서 실행되는 작은 프로그램이다.

자바 애플릿 예 import java.applet.Applet; import java.awt.Graphics; 31 import java.applet.Applet; import java.awt.Graphics; public class HelloApplet extends Applet { public void paint(Graphics g) { g.drawString("Hello world!", 5, 25); } HelloApplet.java <HTML> <HEAD> <TITLE>My first Java Applet</TITLE> </HEAD> <BODY> My first Java applet says: <APPLET CODE="HelloApplet.class" WIDTH=150 HEIGHT=40> </APPLET> </BODY> </HTML Hello.html

자바로 만들 수 있는 것 자바 서블릿(Java servlet) 웹서버에서 동작하는 서버 모듈로서 클라이언트의 요구를 받아서 그에 대한 처리를 한 후에, 실행 결과를 HTML 문서 형태로 클라이언트 컴퓨터로 전송

자바 서블릿 예 public class CMemberTest extends HttpServlet { 33 public class CMemberTest extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=EUC_KR"); PrintWriter out = response.getWriter(); out.println("<HTML><HEAD><TITLE>로그인</TITLE></HEAD></HTML>"); out.println<BODY><H2>Hello World : 헬로월드</H2>"); out.println(“오늘의 날짜와 시간은 : “+new java.util.Date()); out.println("</BODY></HTML>"); }

자바로 만들 수 있는 것 HTML안에 자바 코드를 넣으면 웹페이지를 사용자와 상호작용하도록 만들 수 있다. JSP는 서버에서 실행되고 결과를 사용자에게 보여준다.

안드로이드 애플리케이션 안드로이드 애플리케이션은 자바로 작성 안드로이드 개발자들은 자바의 SE 버전 중에서 AWT와 스윙(swing)을 제외한 거의 모든 패키지를 사용 효율성때문에 자체적인 달빅(Dalvik) 가상 머신을 구현하였다.

중간 점검 문제 애플릿과 서블릿을 비교하여 보자. JSP에 대하여 웹을 통하여 조사하여 보자. 애플릿: 서버에서 다운로드되어서 웹 페이지 안에서 실행 서블릿: 웹 서버 안에서 사용자의 요청을 처리 JavaServer Pages (JSP)는 서버 측의 자바 기술로서 클라이언트 컴퓨터의 요청에 따라서 동적으로, HTML, XML 등이 포함된 웹 페이지를 생성한다.

JSP 예 <%@ page contentType="text/html;charset=euc-kr" %> <HTML> <HEAD><TITLE>Hello World</TITLE></HEAD> <BODY><H2>Hello World : 헬로월드</H2> 오늘의 날짜와 시간은 : <%= new java.util.Date() %>  asp 의 경우 <%=now %> </BODY> </HTML>

자바를 사용하려면 무엇이 필요한가? 명칭: JDK (Java Development Kit) 설명: 자바 개발 도구 다운로드 위치: java.sun.com 비용: 무료 http://www.oracle.com/technetwork/java/javase/downloads/index.html (Java SE 8u73 / 8u74)

JDK와 JRE JRE(Java Runtime Environment) JDK(Java Development Kit)

다운로드

자바 설치

자바 설치

JDK의 구조 JDK의 기본 설치 폴더는 c:\Program Files\Java

데모와 샘플 파일

데모와 샘플 파일

중간 점검 문제 자바 프로그램을 개발하는 데 개발 도구를 ______________라고 한다. JDK와 JRE의 차이점은 무엇인가? JDK JRE는 자바 프로그램을 실행만 시킬 수 있는 환경이고 JDK는 개발도 할 수 있는 환경이다.

자바 프로그램 개발 단계

자바 프로그램 개발 단계 소스 파일의 생성 컴파일 클래스 적재 에디터를 사용 소스 파일은 .java 확장자 메모장, 이클립스 (www.eclipse.org), 넷빈(www.netbeans.org) 사용 컴파일 컴파일러는 자바 소스 코드를 바이트 코드로 변환 바이트 코드는 확장자가 .class로 끝나는 파일에 저장 클래스 적재 바이트 코드 파일을 메모리로 적재 네트워크를 통하여 적재될 수도 있다.

자바 프로그램 개발 단계 바이트 코드 검증 실행 바이트 코드들이 이상이 없으며 자바의 보안 규칙을 위배하지 않는지를 검사 자바 가상 기계가 바이트 코드를 실행 가장 빈번하게 실행되는 부분(HotSpot)에서는 JIT 컴파일러가 바이트 코드를 실제 컴퓨터의 기계어로 직접 변환하여 빠르게 실행

JDK 사용하기 어디에서나 컴파일러를 실행할 수 있도록 경로(path) 설정하기 제어판의 환경 변수 path를 변경한다.

소스 파일 작성 윈도우 보조 프로그램의 메모장 사용 파일의 확장자는 .java로 한다.

컴파일 C:\java\examples>javac Hello.java C:\java\examples> C:\java\examples>dir ... 2009-06-05 오후 04:06 454 Hello.class 2009-06-05 오후 02:53 144 Hello.java 2개 파일 598 바이트

실행 java 명령어가 바로 “자바 가상 기계”를 구현한 것입니다. C:\java\examples>java Hello 안녕하세요. 자바 프로그래머 여러분! C:\java\examples> java 명령어가 바로 “자바 가상 기계”를 구현한 것입니다.

명령어 도구

중간 점검 문제 1. 컴파일하는 명령어 버전 이름은 __________이다. 2. Hello.java를 컴파일하면 ________ 파일이 생성된다. 3. 자바 가상 기계는 ____________ 프로그램으로 구현한다. javac Hello.class java

자바 문서 참조 하기 자바 API 문서 자바 라이브러리에 대하여 설명하는 문서 자바 튜토리얼 자바 언어에 대한 강좌

자바 API 문서

자바 튜토리얼

Lab: 데모 프로그램 실행하기 demo 디렉토리의 서브 디렉토리 applets\Animator폴더로 이동하라. 명령 프롬프트에서 다음과 같은 명령어를 실행한다. C> appletviewer example1.html

Lab: 데모 프로그램 실행하기 demo 디렉토리의 서브 디렉토리 jfc\java2D로 이동하라. 명령 프롬프트에서 다음과 같은 명령어를 실행한다. C> appletviewer Java2Demo.html

자바를 위한 통합 개발 환경 Eclipse NetBeans 다중 언어 소프트웨어 개발 도구로서 IDE 와 plug-in 으로 구성 자바로 작성되었다. 자바 애플리케이션을 개발하는데 사용할 수도 있다. C, C++, COBOL, Python, Perl, PHP도 지원 free and open source software. NetBeans 자바를 위한 cross-platform open source IDE 문법 하이라이팅 기능, 코드 완결 기능 비주얼 디자인 도구 포함

이클립스 http://www.eclipse.org/downloads/ 에서 다운로드 Kepler(2013년 6월 26일), Luna(2014년 6월 25일), Mars(2015년 6월 24일)  Neon(2016년?)

이클립스 설치

이클립스 실행 작업 공간을 물어본다 -> 자신이 사용하는 디렉토리로 변경

이클립스 첫화면

프로젝트 생성

클래스 생성

소스 코드 입력

프로그램 실행

프로그램 실행

컴파일 오류 소스를 입력하는 과정에서 다음과 같이 System으로 하여야 할 것을 system으로 잘못 입력하였다고 가정.

컴파일 오류

이클립스의 Quick Fix 해결 방법을 제시

이클립스 프로젝트 내보내기 앞에서 작성한 hello 프로젝트를 USB에 저장하려면 hello 프로젝트를 선택한 상태에서 [File] -> [Export] 메뉴를 선택한다.

이클립스 프로젝트 읽기 [File] -> [Import] 메뉴를 선택한다

Lab: 이클립스 프로그램 작성하기 다음 프로그램을 이클립스를 이용하여 컴파일, 실행하여 보자. public class Hello2 { public static void main(String args[]) { System.out.println("안녕하세요?"); // ① System.out.println("자바를 처음 공부합니다."); System.out.println("자바는 재미있나요?"); }

SOLUTION

Q & A