introduction of java programming languagecompiler.sangji.ac.kr/lecture/java/2017/lecture01.pdf ·...
TRANSCRIPT
Introduction of Java Programming Language
2017
Kwangman Ko
(http://compiler.sangji.ac.kr, [email protected])
Dept. of Computer Engineering, Sangji University
강의 자료
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
Java Programming Language패러다임(Paradigm)
• 객체 지향 프로그래밍(Object-oriented),
• 구조적 프로그래밍(structured)
• 절차적 프로그래밍(imperative)
등장
• 1995년, 누가 설계하였나?
• Sun Microsystems->Oracle
설계 원칙
• Static, strong, safe, nominative, manifest
lecture 01 : Java 프로그래밍 기초 8
비슷한 언어
• 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)
lecture 01 : Java 프로그래밍 기초 10
최신버전 : JDK 8람다식(Lambda expressions)
작은 가상기계(VM)
병렬 배열 정렬(Parallel Array Sorting)
컬럭션을 위한 대용량 데이터 처리
Base64 엔코딩과 디코딩을 위한 표준 API
새로운 날짜, 시간 API(Date & Time API)
강화된 패스워드기반 암호화(Password-Based-Encryption (PBE))
lecture 01 : Java 프로그래밍 기초 12
Java, C/C++/C#/…과 뭐가 다르지?
lecture 01 : Java 프로그래밍 기초 14
왜,수 많은 언어가 출현할까?
벽에 못 박을때,돌맹이, 망치가 있다면?
요거 하나면 끝!!
Java 언어의 대표적 장점 : Write Once, Run Anywhere
lecture 01 : Java 프로그래밍 기초 15
하드웨어
운영체제
Native
ApplicationVirtual Machine
Application
가상기계
플랫폼 의존적 : C 언어로 개발된 어플리케이션
lecture 01 : Java 프로그래밍 기초 17
소스코드
컴파일러(Pentium)
컴파일러(PowerPC)
컴파일러(SPARC)
이진파일
Pentium
PowerPC
SPARC
이진파일
이진파일
플랫폼 독립적 : Java 어플리케이션 개발 환경
lecture 01 : Java 프로그래밍 기초 19
자바인터프리터
Pentium
PowerPC
자바인터프리터
SPARC
자바인터프리터
자바컴파일러
(Pentium)
자바컴파일러
(PowerPC)
자바컴파일러
(SPARC)
자바코드
자바바이트코드
(플랫폼독립적)
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