23
Introduction of Java Programming Language 2017 Kwangman Ko (http://compiler.sangji.ac.kr , [email protected]) Dept. of Computer Engineering, Sangji University

Introduction of Java Programming Languagecompiler.sangji.ac.kr/lecture/java/2017/lecture01.pdf · Introduction of Java Programming Language 2017 Kwangman Ko (, [email protected])

  • Upload
    haphuc

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

Introduction of Java Programming Language

2017

Kwangman Ko

(http://compiler.sangji.ac.kr, [email protected])

Dept. of Computer Engineering, Sangji University

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

lecture 01 : Java 프로그래밍 기초 2

강의 자료

lecture 01 : Java 프로그래밍 기초 3

- 도서명 : 쉽게 배우는 자바 프로그래밍

- ISBN : 979-11-5664-329-6 93000

- 저자 : 우종정

- 출판사 : 한빛아카데미㈜

- 강의 자료 : http://compiler.sangji.ac.kr

- 예제 소스 : http://www.hanbit.co.kr/src/4329

- Q&A : [email protected]

- NO! Phone and SNS

강의 계획표 및 내용

lecture 01 : Java 프로그래밍 기초 4

주 해당 장/주제 주제

1 1장 자바 소개, 개발 환경 구축

2 2장 자바 프로그램 기본 구조, 변수, 연산자

3 3장 제어문, 조건문, 반복문, 분기문, 메서드

4 4장 클래스의 선언〮객체 생성〮멤버 접근, 접근자와 설정자, 생성자, 정적 멤버

5 5장 문자열, 배열 기초와 응용, 디버깅

6 6장 상속

7 7장 추상화와 인터페이스

8 중간고사

9 8장 내부 클래스와 람다식

10 9장 일부, 10장 기본 패키지, 예외 처리와 제네릭 프로그래밍

11 11장 일부, 12장 컬렉션 프레임워크, 입출력 처리

12 13장 스레드

13 14장, 15장 일부 자바 GUI 기초, 이벤트 처리(1)

14 15장 일부, 16장 이벤트 처리(2), 그래픽 프로그래밍

15 17장 네트워크 및 데이터베이스 프로그래밍

16 기말고사

평가(evaluation)

lecture 01 : Java 프로그래밍 기초 5

30, 30%

30, 30%

30, 30%

10,

10%

성적평가

중간고사 기말고사 과제 출석

• 중간고사 : 8주/16.– 이론 시험 (100 점)

• 기말고사 : 16주/16.– 이론시험 (100점)

• 과제 : 10회 지정 기한 제출– 10회( 1회*10점=100점)

• 출석– ¼ 결석 : F

프로그램 이란 ?

lecture 01 : Java 프로그래밍 기초 6

프로그래밍 언어 : Java

lecture 01 : Java 프로그래밍 기초 7

Java Programming Language패러다임(Paradigm)

• 객체 지향 프로그래밍(Object-oriented),

• 구조적 프로그래밍(structured)

• 절차적 프로그래밍(imperative)

등장

• 1995년, 누가 설계하였나?

• Sun Microsystems->Oracle

설계 원칙

• Static, strong, safe, nominative, manifest

lecture 01 : Java 프로그래밍 기초 8

lecture 01 : Java 프로그래밍 기초 9

Java version (1.8x)

lecture 01 : Java 프로그래밍 기초 11

최신버전 : JDK 8람다식(Lambda expressions)

작은 가상기계(VM)

병렬 배열 정렬(Parallel Array Sorting)

컬럭션을 위한 대용량 데이터 처리

Base64 엔코딩과 디코딩을 위한 표준 API

새로운 날짜, 시간 API(Date & Time API)

강화된 패스워드기반 암호화(Password-Based-Encryption (PBE))

lecture 01 : Java 프로그래밍 기초 12

lecture 01 : Java 프로그래밍 기초 13

Java, C/C++/C#/…과 뭐가 다르지?

lecture 01 : Java 프로그래밍 기초 14

왜,수 많은 언어가 출현할까?

벽에 못 박을때,돌맹이, 망치가 있다면?

요거 하나면 끝!!

Java 언어의 대표적 장점 : Write Once, Run Anywhere

lecture 01 : Java 프로그래밍 기초 15

하드웨어

운영체제

Native

ApplicationVirtual Machine

Application

가상기계

lecture 01 : Java 프로그래밍 기초 16

플랫폼 의존적 : C 언어로 개발된 어플리케이션

lecture 01 : Java 프로그래밍 기초 17

소스코드

컴파일러(Pentium)

컴파일러(PowerPC)

컴파일러(SPARC)

이진파일

Pentium

PowerPC

SPARC

이진파일

이진파일

lecture 01 : Java 프로그래밍 기초 18

플랫폼 독립적 : Java 어플리케이션 개발 환경

lecture 01 : Java 프로그래밍 기초 19

자바인터프리터

Pentium

PowerPC

자바인터프리터

SPARC

자바인터프리터

자바컴파일러

(Pentium)

자바컴파일러

(PowerPC)

자바컴파일러

(SPARC)

자바코드

자바바이트코드

(플랫폼독립적)

lecture 01 : Java 프로그래밍 기초 20

Write Once!

Run Everywhere!

lecture 01 : Java 프로그래밍 기초 21

모든 OS, 플랫폼 및

GUI 에서 작동될 수

있는 분산 응용 프로

그램은 없을까 ??

PC

Server

Mac

분산 Client-server 환경

NETWORK

Java PlatformJava 플랫폼이란 ?

• Java 어플리케이션이 실행될 수 있는 환경

• Java Program + API + 자바 가상 기계(Java Virtual Machine)

lecture 01 : Java 프로그래밍 기초 22

하드웨어

운영체제

Java program

Java Virtual Machine

기본 API 확장 API

다음주 :

[email protected]