Power Java 제1장 자바 소개.

Slides:



Advertisements
Similar presentations
- 1 - IT COOKBOOK 전산정보처리학과 프로그래밍 언어 전산정보처리학과 중위 ( 진 ) 정세화.
Advertisements

8 장 웹 프로그래밍 언어의 종류. 8.1 문서의 표준화  컴퓨터와 웹을 이용하기 위해서는 컴퓨터가 이 해할 수 있는 언어를 사용.  웹 프로그래밍 언어 (Web Programming Languages) 란 인터넷에 웹 서비스를 제공하거 나 제공받기 위하여 사용하는.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 프로그래밍 언어론 2nd edition Tucker and Noonan 1 장 소 개 A good programming language is a.
제 1 장 자바 소개 Power Java. 프로그램이란 ? 그림 1-1. 프로그램은 작업 지시서와 같다.
2014 Advanced Programming Practice(1), 제 1 장 자바 소개 1.
데이터 베이스 (MYSQL) 장수용. MYSQL 이란 ? -MySQL 은 DBMS( 데이터베이스 관리 시스템 ) 이다. - MySQL 은 RDBMS( 관계형 데이터베이스 ) 이다. - MySQL 은 오픈소스이다. - MySQL 은 빠르고, 안정적이고.
제 1 장 기초 사항 어서와 Java 는 처음이지 ! IT 응용시스템공학과 김형진 교수.
Institute of Ambient Intelligence 2009, Choi, Namseok, Dongseo Univ., Java 기초 (Orientation & Java 언어소개 ) Choi,
12 장 자바와 VRML 의 활용 자바 애플릿의 소개  Network 환경에 적합한 객체 지향형 Programming Language  인터넷 및 분산 환경 시스템에서 효과적으로 응용 프로그램을 작성할 수 있도록 설계된 언어  객체 지향성 및 다양한.
© IBM Corporation 2006 목 차목 차  자바 언어의 소개  자바 언어의 역사  자바 환경 설정 (JDK 1.5)  Documentation API 의 설치  Eclipse 의 설치와 사용법  HelloWorld.
시스템 개요 진화 과정 RIA & X-Internet Web Client/Server Main FRame
2009년 IT인재개발원 [연수생 모집요강]
8장 프로그래밍 언어 8.1 프로그램이란? 8.2 프로그램 언어의 역사 8.3 프로그램 설계 절차
고급자바프로그래밍 (Advanced Java Programming)
중앙일보 ITEA 전주대학교 IT교육원 운영계획(안)
임베디드 SW 시스템 소개 - 임베디드 운영체제 - 임베디드 리눅스 - 임베디드 인터넷
원정초등학교 5학년1반 48번 윤민정.
이규헌 강병현 송영철.
어서와 Java는 처음이지! 제1장 기초 사항.
Web Programming 강의 소개
알기 쉽게 해설한 Java 8th edition
이번 시간에는... 지난 시간에는 VM 기반 모바일 플랫폼 기술의 첫번째 시간으로, 모바일 플랫폼 및 그 현황과, GVM, XVM, WITOP, Brew 및 JavaStation 모바일 플랫폼의 특징과 구성에 대해 알아 보았습니다. 이번 시간에는 모바일 플랫폼 기술 그.
어서와 Java는 처음이지! 제1장 기초 사항 IT응용시스템공학과 김형진 교수.
컴퓨터 소프트웨어.
제 1 장. JAVA란 작성자 : NLIP.
Chapter 01 : Java EE 개요. chapter 01 : Java EE 개요.
프로그래밍 언어론 2004년 가을학기 창 병 모 숙명여대 컴퓨터과학과.
국내 IT인재 일본진출 현황 및 성과 한 국 정 보 통 신 산 업 협 회 부설 한국정보통신인력개발센터.
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
Java 기초 (Orientation & Java 언어소개)
Power Java 제4장 자바 프로그래밍 기초.
Kasimov C언어 세미나 1st.
1강 01장. 웹과 자바.
Chapter 01 : Java EE 개요. chapter 01 : Java EE 개요.
프로그램 개발과 언어 Chapter 05 컴퓨터의 이해
제3장 이클립스 사용하기.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
Java IT응용시스템공학과 김형진 교수 2장. 자바의 환경 public class SumTest {
소프트웨어시스템설계(둘째주) JSP 개발 환경과 간단한 JSP 실습
제 1장 시스템 소프트웨어의 개요.
( Overview of the Course Kwangman Man ( SangJi University.
제1장 서론.
객체 지향 프로그래밍.
Lecture 01: Compiler Overview
Chapter 2 – 언어의 변천 Outline 2.1 디지털 컴퓨터 이전의 언어
1강. 웹프로그래밍 웹프로그래밍이란? JAVA웹 웹프로그램의 동작 필요한 학습 Lecturer Kim Myoung-Ho
자바의 신 Volume 1 1부(1~3장) 자바의 신 메인 홈 : 자바의 신 페이스북: 자바의 신 문제 풀이 :
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
‘그린나래호텔’은 대한민국 공군에서 해운대 해수욕장변에 건축한 군의 복지향상을 위해 지은 군휴양소 건물입니다.
김 정 석 Web Programming 김 정 석
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
3장. 웹로직 서버에서의 서블릿과 JSP의 운용 3-1. 서블릿, JSP를 실행하기 전의 환경 설정
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
나는 땅에서 키는 작지만 하늘로부터 재는 키는 이 세상 어느 누구보다도 크다
Chapter 02. 소프트웨어와 자료구조.
웹과 인터넷 활용 및 실습 (Web & Internet) 과목 개요 문양세 강원대학교 IT대학 컴퓨터과학전공.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
Part 3 객체지향 Chapter 5 : 객체지향 개념 Chapter 6 : 클래스 : 속성
제6장 소프트웨어와 정보시스템 김진수
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
수 업 계 획 1. 단원지도계획 2. 수업설계서 3. 학습지 4. 형성평가지 5. 참고자료 6. 참고사이트 7. 제작자
컴퓨터 새내기 탈출 4. 컴퓨터에 생명을.
C언어 개요 프로그래밍이란 프로그래밍 언어란 컴퓨터와의 의사소통을 위한 표현 방법 세대별 언어의 발전을 거듭함
안드로이드 앱 분석 팀 기반의 설계 프로젝트 박민재
강의교안 이용 안내 *이 책에 딸린 강의자료는 교수님의 효율적인 수업진행을 돕기 위해 만들어졌습니다.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
웹 프로그래밍 기술 요약 Yang-Sae Moon Department of Computer Science
Chapter2 : 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합개발환경(IDE)
Java Programming for Beginners
AJAX Technology for Web2.0
Presentation transcript:

Power Java 제1장 자바 소개

프로그램이란? 그림 1-1 . 프로그램은 작업 지시서와 같다.

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

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

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

자바는 프로그래밍 언어의 일종 그림 1-3 . 컴파일러는 프로그래밍 언어로 작업 프로그램을 기계어로 변환한다.

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

프로그래밍 언어의 역사

중간 점검 기계어 컴파일러 almost impossible

Object-Oriented Languages

Objects object instance

Objects

Class

Object Inheritance

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

자바란? 비슷한 언어 Generic Java, Pizza 자바에게 영향을 준 언어 Objective-C, Ada 83, Pascal, C++, C#, Eiffel, Smalltalk, Mesa, Modula-3, Generic Java 영향을 끼친 언어 Ada 2005, C#, D, ECMAScript, Groovy, J#, PHP, Scala, JavaScript, Python 운영 체제 Cross-platform (multi-platform) 라이센스 GNU General Public License / Java Community Process 웹사이트 http://java.sun.com www.wikipedia.com참조

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

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

바이트 코드 자바 프로그램 바이트 코드

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

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

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

자바는 누가 만들었을까? James Gosling

자바 버전

자바의 특징

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

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

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

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

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

자바의 에디션 Java SE(Standard Edition) Java EE(Enterprise Edition) Java ME(Micro Edition)

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

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) 웹 브라우저 안에서 실행되는 작은 프로그램이다. 그림 1-10 . 자바 애플릿의 실행 과정

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

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

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

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