자바 프로그래밍 입문 : 객체지향적 사고법 chapter 01. 자바 언어의 소개.

Slides:



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

자바프로그래밍 2014 년 가을학기 강원대학교 컴퓨터학부 담당교수 : 정충교 1. 강사진 담당교수 : 정충교 – 연구실 : 101 동 503 호 – 전화 : – 이메일 : 조교 : 2.
제 1 장 자바 소개 Power Java. 프로그램이란 ? 그림 1-1. 프로그램은 작업 지시서와 같다.
2014 Advanced Programming Practice(1), 제 1 장 자바 소개 1.
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
KUMHO SOFTWARE DEVELOPMENT 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램 2.4 자바 응용 프로그램 2.5 자바 애플릿 프로그램 2. 자바 환경과 자바 프로그램.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
Chap01 자바의 개요와 실행환경. 책의 구성 Chapter 01 자바의 개요와 실행환경 Chapter 02 객체지향 개념 Chapter 03 자바 기본 구조 Chapter 04 클래스 Chapter 05 상속 Chapter 06 인터페이스 Chapter 07 예외.
Chap01 자바소개 이한출판사. Chap01 자바소개 책의 구성 Part 01 자바의 개요 Chapter 01 자바 소개 Chapter 02 자바 환경과 자바 프로그램 Part 02 객체지향과 자바언어의 기본 구조 Chapter 03 객체지향 개념 Chapter 04.
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
컴퓨터와 인터넷.
Chapter1 : 자바 소개 1.1 자바(JAVA) 언어의 역사 1.2 프로그래밍 언어 : 자바 1.3 플랫폼 : 자바
이 름: 정홍도 (과장) 팀 명: 개발사업팀 일 자:
Java IT응용시스템공학과 김형진 교수 1장. 컴퓨터와 프로그램 그리고 자바 public class SumTest {
컴퓨터 운영체제의 역사 손용범.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Security Solutions (S/W) - Fortify
자바 언어의 이해 Understanding of Java Programming
네트워크 기술을 통한 현재와 미래 소개.
명품 JAVA Essential.
Power Java 제3장 이클립스 사용하기.
최윤정 Java 프로그래밍 클래스 상속 최윤정
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
1장. 자바 시작하기.
제1장 기초 사항 융합기술공학과 김형진 교수.
자바 개요.
1장. 자바 개요.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Power Java 제2장 자바 개발 도구.
New 알기 쉽게 해설한 Java.
1장 C#의 배경.
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
1장 자바 개발환경 구축하기.
JSP Programming with a Workbook
Java 기초 (Java JDK 설치 및 환경설정)
Visual Basic .NET 처음 사용하기.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
1. MIDP란? 2. 하드웨어 사양 3. MIDlet 4. MIDlet Suite
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
Wireless Java Programming
Method & library.
2장. JSP 프로그래밍을 위한 환경구성 제2장.
UNIX Unbounded A Beginning Approach
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
CHAPTER 04. 프로그래밍 언어 인간과 컴퓨터의 대화_진화하는 소통. 진화하는 컴퓨터
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
제1장 Unix란 무엇인가?.
20장. 객체지향 프로그래밍 01_ 객체지향 프로그래밍의 시작.
자바 5.0 프로그래밍.
LabVIEW WiznTec 주임 박명대 1.
모바일 자바 프로그래밍 J2ME 개발 살펴보기 Ps lab 오민경.
Part 1 개요 Chapter 1 : 컴퓨터와 프로그램 그리고 자바 Chapter 2 : 자바의 환경
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
암호학 응용 Applied cryptography
Introduction to JSP & Servlet
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
Chapter 01 자바의 개요 자바는 최초 전자기기의 내장형 소프트웨어를 위해 개발되었으나, 최근 엔터프라이즈 응용에도 폭 넓게 활용됨 자바의 특징과 실행방법, 개발 환경 및 도구에 대해 소개.
공학도를 위한 C언어 프로그래밍실습1 -통합개발환경 사용법-
발표자 : 이지연 Programming Systems Lab.
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
Java Programming for Beginners
Wireless Java Programming
1장. C Language Synopsis.
JAVA 프로그래밍 16장 JNLP.
자바 암호 프로그래밍 Java Cryptography Programming\ 2. 자바 프로그래밍 기초
Presentation transcript:

자바 프로그래밍 입문 : 객체지향적 사고법 chapter 01. 자바 언어의 소개

학습목표 자바 언어의 특징 자바 프로그램의 종류 자바 언어와 다른 언어의 차이점 자바 플랫폼과 자바 가상 머신 이해 객체지향 언어로 자바 언어가 적합한 이유 이해 동의대 김미진

자바 소개 자바 언어 C, 포트란, 스몰토크, 펄, C++과 같은 고급언어 3세대 언어 다양한 객체지향 언어의 특성을 조합해서 개발 미국 썬마이크로시스템즈 사에서 개발 배우기 쉽고, 빠른 개발이 가능한 언어 가비지 컬렉션으로 malloc(), free()가 없음 동의대 김미진

자바 프로그램의 형태 – Applet`과 `Application 웹 브라우저에 동작하는 프로그램 프로그램 코드는 웹 서버 저장 실행은 PC에서 웹 서버로 부터 HTML 문서와 함께 전달 HTML문서에 의해서 자동 실행 악의적인 코드로 부터 보안 장치 있음 애플리케이션 (Application) 일반 응용 프로그램과 유사하게 동작 프로그램 코드가 저장되어 있는 PC에서 실행 모든 자원을 사용할 수 있으므로 실행 당사자가 유의함 * 자바 프로그램은 일반적으로 JAR 압축 파일 형태로 제공 동의대 김미진

애플릿과 애플리케이션의 동작 Web Browser Java Source code network (.java) Byte code (.class) compiler Web Server HTML Applet Web Browser Local Computer Application Virtual Machine network 동의대 김미진

자바 플랫폼 플랫폼 자바 플랫폼 서로 다른 하드웨어나 운영체제에서 동일한 프로그램이 거의 유사하게 동작할 수 있게 해주는 환경 자바 언어 자바 개발 도구 (JDK) 자바 실행 환경 (JRE) 개발자 지원 사용자 지원 JDK (Java Development Kit) JRE (Java Runtime Environment) JRE는 일반 사용자를 위하여 JDK에서 컴파일러와 디버거를 삭제하여 단순화 시킨 것 동의대 김미진

자바 플랫폼 플랫폼 : 프로그램이 실행되는 하드웨어와 소프트웨어 환경 기존의 컴퓨터에 자바 플랫폼을 구축하기 위해서는 자바 소프트웨어(JDK)만 설치하면 된다. 자바 프로그램 자바 API 자바 플랫폼 자바 가상 기계 하드웨어 플랫폼 동의대 김미진

자바 플랫폼 특징 자바 가상 기계(Java Virtual Machine) 바이트 코드를 기계어로 사용하는 컴퓨터 JDK 환경을 구축하여 자바 가상기계 설치 바이트 코드를 해석하여 실행할 수 있는 해석기 JDK의 인터프리터(java) 또는 애플릿뷰어(appletviewer) WWW 검색기(넷스케이프, 익스플로러, 핫자바 등)에서 제공 자바 API(Application Programming Interface) JDK에서 제공되는 거대한 패키지 자바 개발자는 자바 API에 미리 정의된 소프트웨어 패키지를 이용하여 자바 프로그램을 작성 동의대 김미진

자바 플랫폼 특징 컴퓨터 처리 수준에 맞는 구별 J2ME (Micro Edition) 처리 수준이 상대적으로 낮은 휴대폰, 웹페드, 디지털 TV 대상 J2SE (Standard Edition) 일반 데스크탑 PC 대상 J2EE (Enterprise Edition) 처리 수준이 상대적으로 높은 서버/워크스테이션 급 이번 강의는 J2SE에 맞춰져 있으며, 휴대폰에서는 J2ME를 많이 사용함 단, 국내에서는 자바 언어와 C 언어를 함께 지원하는 WIPI를 적용하기 시작함 동의대 김미진

바이트 코드와 네이티브 코드 바이트 코드 네이티브 코드 CPU나 운영체제와 상관없이 동일한 형태의 코드 자바 컴파일러에 의해서 생성 자바 가상 머신을 통하여 다양한 환경에서 실행 예) CA FE BA BE 00 03 00 2D 00 3E 08 00 3B 네이티브 코드 CPU나 운영체제에 따라서 상이한 형태의 코드 각종 프로그래밍 컴파일러에 의해서 생성 해당 CPU나 운영체제에서만 실행 가능 예) 4D 5A 90 00 03 00 00 00 04 00 00 00 FF 00 CA FE BA BE는 자바 바이트 코드임을 알려주는 매직 코드임. 동의대 김미진

자바 가상 머신 자바 코드의 실행 자바 가상 머신 자바 프로그래밍 자바 컴파일러를 통해서 바이트 코드 생성 자바 가상 머신을 통해서 바이트 코드 수행 자바 가상 머신 추상적인 머신 - 실제 머신이 아님 명령어 집합, 레지스터 집합, 스택, 힙, 메소드 영역 구성 실제 네이티브 코드로 작성되어 있음 C언어, 자바 언어, 어셈블리어로 작성 자바 언어가 포함된 것은 일부 기본 패키지의 클래스가 C언어와 연결되어 있음을 의미 동의대 김미진

자바 가상 머신의 동작 동의대 김미진

자바 언어는 객체지향 특성을 잘 만족하는 언어임 객체지향 언어와 자바 객체지향 언어 1990년대 매우 중요한 이슈 1960년대 시뮬라 (Simula) 언어가 최초 GUI 환경을 구현하는데 중요한 역할 제공 객체는 데이터와 메소드로 구성 객체지향 언어의 특성 단순함 – 프로그램을 쉽게 이해할 수 있음 재사용성 – 만들어 놓은 코드를 쉽게 재사용함 신속성 – 프로그램을 빠르게 제작함 자바 언어는 객체지향 특성을 잘 만족하는 언어임 객체지향 언어의 특징 중 비용 절감이 가장 중요함 동의대 김미진

자바 언어의 특징[1] 배우기 쉽고 가르치기 쉬운 언어 내용은 작지만 범위는 넓다 인터프리트 방식으로 속도는 늦지만, 코드는 안정적이다 가비지 컬렉터로 메모리 관리가 용이 다양한 환경에서 동작이 가능함 동의대 김미진

자바 언어의 특징[1-1] 자바는 네트웍을 통하여 자바 가상 기계가 설치된 어떤 컴퓨터에서도 실행 가능 클라이언트(자바가상기계) 서버 해 석 기 실행결과 번 역 기 바이트 코드 *.class 소스코드 *.java 인터넷 자바는 네트웍을 통하여 자바 가상 기계가 설치된 어떤 컴퓨터에서도 실행 가능 해 석 기 실행결과 동의대 김미진

자바 언어의 특징[2] 좋은 객체지향 언어 자바 프로그램은 기본적으로 클래스 집합 C언어의 라이브러리보다 진보된 개념의 패키지 지원 클래스 상속, 캡슐화, 다형성 지원 동의대 김미진

자바 언어의 특징[3] 견고한 프로그래밍 언어 엄격한 문법적인 오류를 컴파일 시 감지 예외 처리 지원으로 런타임 오류 감소 가비지 컬렉터를 통한 메모리 접근 오류 금지 견고하다는 것은 영어로 robust하다고 한다. 이는 오류가 그만큼 줄어들었음을 의미한다 동의대 김미진

자바 언어의 특징[3-1] 안전한 프로그래밍 언어 개발환경 실행환경 JVM 자바 클래스 라이브러리 자바 소스코드 클래스 로더 개발환경 실행환경 자바 클래스 라이브러리 자바 소스코드 *.java 클래스 로더 바이트 코드 검증기 실행시 서버로 부터 네트웍을 통해 전달 자바 컴파일러 바이트 코드 *.class 자바 인터프리터 JVM 실행결과 동의대 김미진

자바 언어의 특징[4] 신속하고 이식성이 있는 언어 실행 코드 수준에서 호환성이 존재 (바이트 코드) 자바 가상 머신의 이식성도 높은 편임(EEE754지원) 컴파일러 바이트 코드 자바 프로그램 인터프리터 Sun Ultra Solaris Mac 시스템 PC 호환 System Windows NT 동의대 김미진

자바 언어의 특징[5] 쓰레드 지원 언어 대부분의 언어는 쓰레드를 운영체제의 기능으로 사용 자바는 자체 쓰레드가 있기 때문에 쓰레드가 없는 환경에서도 쓰레드 기능을 제공해야 함 green thread 자바 가상 머신 스스로 쓰레드 관리 native thread 운영체제에서 제공하는 쓰레드 기능을 이용 동의대 김미진

요약 자바 프로그래밍 언어 자바 플랫폼 자바 가상 머신 객체지향 언어 자바 언어의 특징 동의대 김미진

Thank You !