2014 Advanced Programming Practice(1), 제 1 장 자바 소개 1.

Slides:



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

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
제 1 장 기초 사항 어서와 Java 는 처음이지 ! IT 응용시스템공학과 김형진 교수.
CHAP. 2 안드로이드 개발 도구 설치. © 2012 생능출판사 All rights reserved 개발 과정의 개요.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
Chap01 자바소개 이한출판사. Chap01 자바소개 책의 구성 Part 01 자바의 개요 Chapter 01 자바 소개 Chapter 02 자바 환경과 자바 프로그램 Part 02 객체지향과 자바언어의 기본 구조 Chapter 03 객체지향 개념 Chapter 04.
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
2016 유성환 Hybrid MOBILE.
컴퓨터와 인터넷.
Chapter1 : 자바 소개 1.1 자바(JAVA) 언어의 역사 1.2 프로그래밍 언어 : 자바 1.3 플랫폼 : 자바
이 름: 정홍도 (과장) 팀 명: 개발사업팀 일 자:
컴퓨터 운영체제의 역사 손용범.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
그래픽스 및 웹 응용설계 자기소개 멀티미디어 학과 4학년 장정환.
자바 언어의 이해 Understanding of Java Programming
Power Java 제3장 이클립스 사용하기.
어서와 Java는 처음이지! 제1장 기초 사항.
Power Java 제3장 이클립스 사용하기.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
제1장 기초 사항 융합기술공학과 김형진 교수.
어서와 Java는 처음이지! 제1장 기초 사항 IT응용시스템공학과 김형진 교수.
자바 개요.
1장. 자바 개요.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Power Java 제2장 자바 개발 도구.
[INA470] Java Programming Youn-Hee Han
1장 자바 개발환경 구축하기.
JSP Programming with a Workbook
Java 기초 (Java JDK 설치 및 환경설정)
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
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 블스
Chap 6.Assembler 유건우.
자바응용.
2장. JSP 프로그래밍을 위한 환경구성 제2장.
인터넷 따라 하기 ◆ 인터넷 시작 하기 ◆ 인터넷 끝내기 ◆ 홈페이지 방문 및 정보검색 ◆ 전자우편( ) 가입
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
PHP 개요 및 설치 Yang-Sae Moon Department of Computer Science
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
웹디자인
자바 5.0 프로그래밍.
LabVIEW WiznTec 주임 박명대 1.
모바일 자바 프로그래밍 J2ME 개발 살펴보기 Ps lab 오민경.
Part 1 개요 Chapter 1 : 컴퓨터와 프로그램 그리고 자바 Chapter 2 : 자바의 환경
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
Self Introduction Template PowerPoint
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
( Windows Service Application Debugging )
13차시_스마트 애플리케이션 기획 스마트 미디어의 사용환경과 사용자의 특성.
암호학 응용 Applied cryptography
Introduction to JSP & Servlet
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
Chapter 01 자바의 개요 자바는 최초 전자기기의 내장형 소프트웨어를 위해 개발되었으나, 최근 엔터프라이즈 응용에도 폭 넓게 활용됨 자바의 특징과 실행방법, 개발 환경 및 도구에 대해 소개.
공학도를 위한 C언어 프로그래밍실습1 -통합개발환경 사용법-
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
자바 프로그래밍 입문 : 객체지향적 사고법 chapter 01. 자바 언어의 소개.
1장. C Language Synopsis.
JAVA 프로그래밍 16장 JNLP.
Presentation transcript:

2014 Advanced Programming Practice(1), 제 1 장 자바 소개 1

2014 Advanced Programming Practice(1), 프로그램이란 ? 그림 1-1. 프로그램은 작업 지시서와 같다. 2

2014 Advanced Programming Practice(1), 컴퓨터가 이해하는 언어 그림 1-2. 컴퓨터는 한글로 된 작업 지시서는 이해하지 못하는 반면 기계어로 된 작업 지시서는 이해할 수 있다. 3

2014 Advanced Programming Practice(1), 기계어 Q) 컴퓨터가 이해할 수 있는 언어는 어떤 것인가 ? A) 컴퓨터가 알아듣는 언어는 한가지이다. 즉 0 과 1 로 구성되어 있는 “ ” 과 같은 기계어이다. A) 컴퓨터는 모든 것을 0 과 1 로 표현하고 0 과 1 에 의하여 내부 스위치 회로들이 ON/OFF 상태로 변경되면서 작업을 한다. 4

2014 Advanced Programming Practice(1), 프로그래밍 언어의 필요성 Q) 그렇다면 인간이 기계어를 사용하면 어떤가 ? 기계어를 사용할 수는 있으나 이진수로 프로그램을 작성하여야 하기 때문에 아주 불편하다. 프로그래밍 언어는 자연어와 기계어 중간쯤에 위치 컴파일러가 프로그래밍 언어를 기계어로 통역 5

2014 Advanced Programming Practice(1), 자바는 프로그래밍 언어의 일종 그림 1-3. 컴파일러는 프로그래밍 언어로 작업 프로그램을 기계어로 변환한다. 6

2014 Advanced Programming Practice(1), 프로그래밍 언어의 분류  기계어 (machine language)  어셈블리어 (assembly language)  고급 언어 (high-level language): 자바, C++, C 언어 기계어어셈블리어고급언어 컴퓨터 인간 7

2014 Advanced Programming Practice(1), 중간 점검 기계어 컴파일러 힘들어서 8

2014 Advanced Programming Practice(1), 자바란 ?  패러다임 (Paradigm)Paradigm  객체 지향 프로그래밍 (Object-oriented),Object-oriented  구조적 프로그래밍 (structured)structured  절차적 프로그래밍 (imperative)imperative  등장  1995  누가 설계하였나 ?  Sun Microsystems->Oracle Sun Microsystems  가장 최근 버전  Java Standard Edition 6 (1.6.0_14)  설계 원칙  Static, strong, safe, nominative, manifest Static, strong, safenominativemanifest 참조 9

2014 Advanced Programming Practice(1), 자바란 ?  비슷한 언어  Generic Java, Pizza Generic JavaPizza  자바에게 영향을 준 언어  Objective-C, Ada 83, Pascal, C++, C#, Eiffel, Smalltalk, Mesa, Modula-3, Generic Java Objective-CAda 83PascalC++C#EiffelSmalltalkMesaModula-3Generic Java  영향을 끼친 언어  Ada 2005, C#, D, ECMAScript, Groovy, J#, PHP, Scala, JavaScript, Python Ada 2005C#DECMAScriptGroovyJ#PHPScalaJavaScriptPython  운영 체제  Cross-platform (multi-platform) Cross-platform (multi-platform)  라이센스  GNU General Public License / Java Community Process GNU General Public LicenseJava Community Process  웹사이트  참조 10

2014 Advanced Programming Practice(1), 자바 가상 기계  자바는 다양한 컴퓨터에서 동일한 모습으로 실행이 가능하다.  ( 예 ) 자바 애플릿  왜 그럴까 ? 바로 자바 가상 기계 때문이죠 11

2014 Advanced Programming Practice(1), 자바 가상 기계  자바 컴파일러는 특정한 컴퓨터가 아닌 가상적인 기계 (virtual machine) 를 위한 코드를 생성한다. 그림 1-4. 자바의 실행 과정 12

2014 Advanced Programming Practice(1), 바이트 코드 자바 프로그램 바이트 코드 13

2014 Advanced Programming Practice(1), 자바 플랫폼  플랫폼 (platform) 이란 프로그램이 실행되는 하드웨어나 소프트웨어 환경이다.  일반적으로 API 란 많은 유용한 기능을 제공하는 라이브러리들의 모임이다. 14

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

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

2014 Advanced Programming Practice(1), 자바는 누가 만들었을까 ?  James Gosling 17

2014 Advanced Programming Practice(1), 자바 버전 18

2014 Advanced Programming Practice(1), 자바의 특징 19

2014 Advanced Programming Practice(1), 자바의 가장 큰 장점  Write once, Run everywhere! 20

2014 Advanced Programming Practice(1), 자바의 특징  단순하지만 강력하다  꼭 필요로 하는 기능만을 포함시키고 복잡하고 많이 쓰이지 않는 기능은 삭제  포인터 연산, 연산자 오버로딩, 다중 상속 등의 복잡한 기능을 삭제  자동 메모리 관리 기능, 멀티 스레드, 방대한 라이브러리 제공  객체 지향적이다.  객체 지향은 지난 30 년간의 연구를 통하여 그 가치를 입증한, 프로그램 을 설계하는 방법론  기본 데이터 타입을 제외한 거의 모든 것이 객체로 표현  분산 환경 지원  네트워크상에서 동작되는 것을 기본으로 설계  쉽게 네트워크 관련 프로그램을 개발 21

2014 Advanced Programming Practice(1), 자바의 특징  견고하다  오류를 만들 수 있는 원인들을 제거  ( 예 ) 포인터 개념을 삭제하였으며 컴파일시에 강력하게 데이터 타입을 검사  안전하다.  바이러스, 파일의 삭제나 수정, 데이터 파괴 작업이나 컴퓨터 오류 연산 등을 방지하면서 실행되도록 설계되었다.  컴퓨터 구조에 중립적이다.  컴퓨터 구조에 중립적인 바이트 코드로 번역  이러한 바이트 코드 특성 때문에 인터넷에 연결된 서로 다른 기종의 컴퓨 터에서도 자바는 실행될 수 있다. 22

2014 Advanced Programming Practice(1), 자바의 특징  멀티스레딩 지원  자바는 언어 수준에서 멀티스레딩 (multithreading) 을 지원  멀티스레딩이란 많은 작업을 동시에 실행  동적이다 (Dynamic).  라이브러리들은 실행 파일에 영향을 끼치지 않고 자유롭게 새로운 기능 들을 추가할 수 있다.  자바는 실행되기 직전에 라이브러리를 동적으로 링크하므로 실행할 때 변경된 라이브러리가 자동적으로 참조된다.  기타 장점  비교적 배우기 쉽고 특히 C 언어를 이미 학습하였다면 더욱 쉽다.  자바 웹 스타트 (Java Web Start) 소프트웨어를 사용하면 제작된 응용 프 로그램을 한 번의 마우스 클릭으로 실행 23

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

2014 Advanced Programming Practice(1), 자바의 에디션  Java SE(Standard Edition)  Java EE(Enterprise Edition)  Java ME(Micro Edition) 25

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

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

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

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

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

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

2014 Advanced Programming Practice(1), 자바로 만들 수 있는 것  HTML 안에 자바 코드를 넣으면 웹페이지를 사용자와 상호작용하도록 만들 수 있다. JSP 는 서버 에서 실행되고 결과를 사용자에게 보여준다. 그림 JSP 의 실행과정 32

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

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

2014 Advanced Programming Practice(1), Q & A 35