Java Programming for Beginners

Slides:



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

노인복지론 담당교수 : 최 병태 교수님 학과 : 보건복지경영학과 학번 : 이름 : 김 태인 날짜 :
1 1. 플랫폼과 개발툴 볼랜드포럼 대표시삽 박지훈 Jeehoon Imp Park
Chap02 자바환경과 자바 프로그램 Section 1 : 자바 개발 환경 Section 2 : 자바 통합 환경 Section 3 : 자바 응용 프로그램과 애플릿 프로그램 Section 4 : 자바 응용 프로그램 Section 5 : 자바 애플릿 프로그램.
운 영 체 제 실 습 ( 리눅스 서버관리입문 ) 개 요. 2/31 운영체제 (Operating System) 개요 시스템 소프트웨어 !!!  응용 프로그램과 하드웨어 사이의 인터페이스 역할  응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를.
1 ‘ 우리나라의 주요공업 ’ - 정도웅, 주민혁, 안수진, 백경민, 엄다운, 박경찬 -.
© IBM Corporation 2006 목 차목 차  자바 언어의 소개  자바 언어의 역사  자바 환경 설정 (JDK 1.5)  Documentation API 의 설치  Eclipse 의 설치와 사용법  HelloWorld.
재택창업시스템 소개 상담콜센터 쉽고 빠른 법인 설립! ! 온라인 재택창업시스템.
미국의 미디어교육 신문방송학과 강진구 한인수 곽모란 이명현.
1. 비정규노동이란 2. 비정규노동의 확대 원인 3. 비정규노동자의 삶 4. 비정규노동의 문제
제7장 빈곤아동 담당교수 : 이 상 신.
일 시 : (목) 장 소 : 1층 도서관 대 상 : 3학년 4반 (36명) 지도교사 : 박 병 진
고급자바프로그래밍 (Advanced Java Programming)
자기소개 김지수 blog.naver.com/1merry1.
공부할 내용 조상들이 살던 곳 자연과 잘 어울리는 한옥 지방에 따라 서로 다른 집의 모양 섬 지방의 집
사랑, 데이트와 성적 자율성 :데이트 성폭력!!! 성폭력예방교육 전문강사 / 여성학 전공 신 순 옥.
임베디드 SW 시스템 소개 - 임베디드 운영체제 - 임베디드 리눅스 - 임베디드 인터넷
제2장 자바 개발 도구.
보건의료 인력양성의 문제점과 방안 김윤미, 전현화, 김지연, 김현정.
퇴계와 율곡의 사회사상 비교 남 일 재 동서대학교 교수/ 정치학 박사 1. 퇴계 이황과 율곡 이이의 약전(略傳)
이규헌 강병현 송영철.
어서와 Java는 처음이지! 제1장 기초 사항.
가족상담 및 치료.
501. 군인들의 세상 502. 민정 이양과 한일회담 이선용.
Web Programming 강의 소개
알기 쉽게 해설한 Java 8th edition
이번 시간에는... 지난 시간에는 VM 기반 모바일 플랫폼 기술의 첫번째 시간으로, 모바일 플랫폼 및 그 현황과, GVM, XVM, WITOP, Brew 및 JavaStation 모바일 플랫폼의 특징과 구성에 대해 알아 보았습니다. 이번 시간에는 모바일 플랫폼 기술 그.
[INA470] Java Programming Youn-Hee Han
어서와 Java는 처음이지! 제1장 기초 사항 IT응용시스템공학과 김형진 교수.
자바란 무엇인가? JDK의 다운로드 및 설치 방법 Hello, Java 프로그램의 작성 자바 프로그램의 작동 원리
CDC Connected Device Configuration CLDC보다 많은 리소스를 가진 시스템을 대상으로 설정
Sookmyung Women’s Univ. PSLAB Moon, Se won
안드로이드 개요 2005년 휴대폰 소프트웨어 개발사인 Android를 구글이 인수 2007년 11월 오픈소스로 공개
1강 01장. 웹과 자바.
Power Java 제2장 자바 개발 도구.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
명품 JAVA Programming 제 15 장 애플릿과 멀티미디어.
DataScience Lab. 박사과정 김희찬 (월)
이름:강연주 학번: 담당교수님:박주형교수님
Power Java 제1장 자바 소개.
Java의 정석 제 1 장 JDK설치 및 설정 Java 정석 남궁성 의
CHAP. 2 안드로이드 개발 도구 설치.
Java의 정석 제 1 장 JDK설치 및 설정 Java 정석 남궁성 의
제1장 서론.
객체 지향 프로그래밍.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Part 0 C Program 안산1대학 디지털정보통신과 임 성 국.
1강. 웹프로그래밍 웹프로그래밍이란? JAVA웹 웹프로그램의 동작 필요한 학습 Lecturer Kim Myoung-Ho
DataScience Lab. 박사과정 김희찬 (월)
Small-scale Java Virtual Machines
김 정 석 Web Programming 김 정 석
프로그래밍 개론 Ⅰ 제 1장 . 서론 ①.
소리가 작으면 이어폰 사용 권장!.
정치개혁의 가능성 논의 권력구조 개편을 통하여 본 -개헌을 통한 정부형태의 변화를 중심으로 [한국정치론] 윤성이 교수님
자바 5.0 프로그래밍.
광고 모델의 영향력.
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
노년기 발달 장안대 행정법률과 세류반 정 오 손
태국 문학 욜라다 왓짜니 싸란차나 팟차라와라이 끼따야펀 르앙다우 타니다.
컴퓨터 프로그래밍: 실습 1 제 1장 . 서론.
CHAP. 2 안드로이드 개발 도구 설치.
운영체제보안 3번 과제 설명 팀 기반의 설계 프로젝트 박민재
워밍업 실뭉치 전달게임.
Windows System Programming
음파성명학 최종욱.
Jre 설치 확인 방법 규제정보화 시스템 운영팀.
Chapter2 : 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합개발환경(IDE)
자바 프로그래밍 입문 : 객체지향적 사고법 chapter 01. 자바 언어의 소개.
Chapter 1 인간행동의 이해와 사회복지실천
J2SE 설치 부산대학교 인공지능 연구실.
Presentation transcript:

Java Programming for Beginners 자바 프로그래밍 입문 √ 원리를 알면 IT가 맛있다 Java Programming for Beginners ehanbit.net

chapter 01. 자바 언어의 소개

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

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

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

애플릿과 애플리케이션의 동작

애플릿 애플리케이션 java.awt.applet.Applet 클래스로 부터 확장 애플릿과 애플리케이션의 코드 작성 (참고) 애플릿 java.awt.applet.Applet 클래스로 부터 확장 init(), start(), paint(), stop(), destroy()등의 메소드를 재정의 애플리케이션 private으로 정의된 클래스가 아니어야 함 public static void main() 메소드를 구현 지금은 잘 이해가 되지 않아도 상관없음

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

자바 가상 머신 컴퓨터 처리 수준에 맞는 구별 다양한 운영체제에서 동작하기 위한 방식 채택 자바 플랫폼 특징 자바 가상 머신 다양한 운영체제에서 동작하기 위한 방식 채택 자바 컴파일러가 생성한 바이트 코드를 실행 컴퓨터 처리 수준에 맞는 구별 J2ME (Micro Edition) 처리 수준이 상대적으로 낮은 휴대폰, 웹페드, 디지털 TV 대상 J2SE (Standard Edition) 일반 데스크탑 PC 대상 J2EE (Enterprise Edition) 처리 수준이 상대적으로 높은 서버/워크스테이션 급 이번 강의는 J2SE에 맞춰져 있으며, 휴대폰에서는 J2ME를 많이 사용함 단, 국내에서는 자바 언어와 C 언어를 함께 지원하는 WIPI를 적용하기 시작함

윈도우 플랫폼 리눅스 플랫폼 마이크로소프트 사에서 나온 운영체제 통칭 특정 회사의 제품 군으로써의 플래폼 플랫폼 이란? (참조) 윈도우 플랫폼 마이크로소프트 사에서 나온 운영체제 통칭 Windows95/98 WindowsNT/2000 WindowsXP/2003 특정 회사의 제품 군으로써의 플래폼 리눅스 플랫폼 Linux 핵심 코드를 바탕으로 한 제품들 RedHat 리눅스, Hancom 리눅스, Debian 리눅스 임베디드 리눅스, 몬타비스타 리눅스 (J2ME 정도에 해당) 핵심 코드를 공유하는 의미의 플랫폼

바이트 코드 네이티브 코드 CPU나 운영체제와 상관없이 동일한 형태의 코드 자바 컴파일러에 의해서 생성 바이트 코드와 네이티브 코드 바이트 코드 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] 배우기 쉽고 가르치기 쉬운 언어 내용은 작지만 범위는 넓다 인터프리트 방식으로 속도는 늦지만, 코드는 안정적이다 가비지 컬렉터로 메모리 관리가 용이 다양한 환경에서 동작이 가능함

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

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

신속하고 이식성이 있는 언어 실행 코드 수준에서 호환성이 존재 (바이트 코드) 자바 언어의 특징[4] 신속하고 이식성이 있는 언어 실행 코드 수준에서 호환성이 존재 (바이트 코드) 자바 가상 머신의 이식성도 높은 편임 (IEEE754지원)

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

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

Thank you ehanbit.net