목 1,2,3,4교시(02)
Download
Report
Transcript 목 1,2,3,4교시(02)
Overview of the Course
Kwangman Man
(http://compiler.sangji.ac.kr, [email protected])
SangJi University
2012
Class Informations
교과목명 : 고급 프로그래밍언어 실습(1)
개설학과 : 컴퓨터정보공학부 2학년
학점 및 시수 : 2학점 4시간
강의시간 : 화 1,2,3,4교시(01); 목 1,2,3,4교시(02)
이수구분 : 전공선택
연락처 :
–
–
–
–
연구실위치 : 민주관 1층 109호
연락처 : 033-730-0486, 033-730-0480
E-mail : [email protected]
Homepage : http://compiler.sangji.ac.kr
Course Overview, Java 2012.
-2-
강의 개요 및 목표
강의 개요
– 자바(Java) 프로그래밍 언어 기초 문법 습득
– 자바 고급 프로그래머를 위한 기초 능력 배양
– 자바 언어의 응용 기능 습득 및 적합한 응용 분야 적용
강의 목표
– 자바 언어 활용 능력 습득
– 자바 언어를 이용한 다양한 응용 프로그래밍 기술 습득
– 다른 고급 언어에 대한 접근 능력 배양
Course Overview, Java 2012.
-3-
강의교재
교보문고
저 자 : 창병모, 우균
ISBN : 9788994464411
발행일 : 2010
도서종류 : 국내도서
발행언어 : 한국어
페이지수 : 609
Course Overview, Java 2012.
-4-
강의 방법 및 평가
강의 방법
– C/C++와 유사한 부분은 간략히 소개
– Java 문법 및 특징 중심으로 강의
– 강의 2시간, 실습 2시간
평가
– 중간(30%), 기말(30%), 과제물(30%), 출석(10%)
– 과제물 평가
• 수업중 실습평가: 5%
• Homework#1 - #14: 20%
• Term project: 5%
Course Overview, Java 2012.
-5-
참고.
– Eclipse 설치 및 활용 방법
– JDK(ver 7.x) 설치 및 사용법 숙지
• http://www.oracle.com/technetwork/java/javase/downloads/i
ndex.html
– http://compiler.sangji.ac.kr, 강의 및 실습 자료 준비
– 과제물 제출
• 공고 : http://compiler.sangji.ac.kr
• 방법 : 강의 시간에 제출(E-mail 제출, 인정하지 않음)
• 기한 : 엄격히 준수.
• 형식 : 별도 공고.
– 리눅스 서버(compiler.sangji.ac.kr) 운영:
• 편집기, 자바 컴파일러, 자바 인터프리터, …
Course Overview, Java 2012.
-6-
왜, Java를 사용하는가 ?
Course Overview, Java 2012.
-7-
Java, C/C++/C#/…과 뭐가 다르지?
왜,
수 많은 언어가 출현할까?
벽에 못 박을때,
돌맹이, 망치가 있다면?
요거 하나면 끝!!
Course Overview, Java 2012.
-8-
Write Once, Run Anywhere !!
Native
Application
Virtual Machine
Application
가상기계
운영체제
하드웨어
Course Overview, Java 2012.
-9-
자바 플랫폼(Java Platform)
자바 플랫폼이란 ?
– 자바 어플리케이션이 실행될 수 있는 환경
– Java Program + API + JVM
Java program
기본 API
확장 API
Java Virtual Machine
운영체제
하드웨어
Course Overview, Java 2012.
-10-
자바 언어의 역사
Sun Microsystems Inc. - ORACLE
– James Gosling
1990년 “그린 프로젝트”로 시작
1991년 가전제품을 위한 언어로 개발
범용 어플리케이션 개발 언어로 발전
Java
– James Gosling, Arthur Van Hoff, Andy Bechtolsheim
– 인도네시아 산 커피 원료 이름
Course Overview, Java 2012.
-11-
분산 Client-server 환경
PC
모든 OS, 플랫폼 및
GUI 에서 작동될 수
있는 분산 응용 프로
그램은 없을까 ??
NETWORK
Server
Course Overview, Java 2012.
Mac
-12-
자바의 주요 특성
간단하며 친숙한 언어
객체지향 언어
플랫폼에 독립적
견고하고 보안에 강하다
동적이고 멀티스레드를 지원
Course Overview, Java 2012.
-13-
간단하며 친숙한 언어
설계 목표 :
– 작고 간단해서 프로그래밍, 디버깅 등이 용이
C/C++의 복잡한 기능 일부 삭제
– 포인터 연산 삭제, 자동적인 메모리 관리
친숙한(?) 언어
– 연산식과 문장 구조면 : ANSI C 언어
– 객체 지향적인 개념 : C++ 언어
객체지향 언어 특성
– 자료 추상화(data abstraction)
– 상속성(inheritance)
– 다형성(polymorphism)
Course Overview, Java 2012.
-14-
플랫폼 독립적
아키텍처 독립적
– JVM(Java Virtual Machine)
– 플랫폼에 독립적인 Bytecode 사용
기존 개발환경과 비교
이진
파일
컴파일러(Pentium)
소스
코드
Pentium
이진
파일
컴파일러(PowerPC)
PowerPC
이진
파일
컴파일러(SPARC)
Course Overview, Java 2012.
SPARC
-15-
플랫폼 독립적
Java 어플리케이션 개발 환경
자바
인터프리터
자바 컴파일러
(Pentium)
자바
코드
Pentium
자바
바이트코드
(플랫폼 독립적)
자바 컴파일러
(PowerPC)
자바
인터프리터
PowerPC
자바
인터프리터
자바 컴파일러
SPARC
(SPARC)
Course Overview, Java 2012.
-16-
자바 개발 환경
프로그래밍 환경
– 편집기, 디버거
운영 환경
– JDK(Java Developers Kit)
• 컴파일러, 인터프리터, 라이브러리 시스템
통합 환경(IDE)
– Visual J++, Jbuilder, Symantec Cafe
Course Overview, Java 2012.
-17-