제 1 장. JAVA란 작성자 : NLIP.

Slides:



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

1 1. 플랫폼과 개발툴 볼랜드포럼 대표시삽 박지훈 Jeehoon Imp Park
Chap02 자바환경과 자바 프로그램 Section 1 : 자바 개발 환경 Section 2 : 자바 통합 환경 Section 3 : 자바 응용 프로그램과 애플릿 프로그램 Section 4 : 자바 응용 프로그램 Section 5 : 자바 애플릿 프로그램.
JIT Compile 김진태. JIT Compile 이란 ? Managed Code(C#, java, managed C++ 등 ) 에서의 성능 향상을 목적 으로 둔 컴파일 기법Managed Code 예 ) JVM –JVM 의 일반적인 실행 방식 –JIT Compile.
Institute of Ambient Intelligence 2009, Choi, Namseok, Dongseo Univ., Java 기초 (Orientation & Java 언어소개 ) Choi,
C 언어 Sun Moon University 1 of 25 C 언어 : 강의소개 강의실 : 산 211 담당교수 : 고경철 ( 정보통신공학과 ) 사무실 : 산학협력관 105B 면담시간 : 수업후 1 시간
© IBM Corporation 2006 목 차목 차  자바 언어의 소개  자바 언어의 역사  자바 환경 설정 (JDK 1.5)  Documentation API 의 설치  Eclipse 의 설치와 사용법  HelloWorld.
3. C++와 객체지향 C++ 코딩 방법 객체 단위로 2 개의 파일 인터페이스 파일 구현파일
001 이찬진 사장 "아이폰 부가사업으로 승부수"` 연합뉴스 구분 내용 비고 기사 요약
제1장 C#의 기초 1.1 .NET Framwork 1.2 .NET Environment 1.3 C# 소개.
C++ Espresso 제1장 기초 사항.
임베디드 SW 시스템 소개 - 임베디드 운영체제 - 임베디드 리눅스 - 임베디드 인터넷
제2장 자바 개발 도구.
이규헌 강병현 송영철.
객체지향 프로그래밍.
어서와 Java는 처음이지! 제1장 기초 사항.
제14장 원격 메소드 호출 김 기 환. 조 명 휘.
Web Programming 강의 소개
알기 쉽게 해설한 Java 8th edition
Java Development Environment & Eclipse IDE
[INA470] Java Programming Youn-Hee Han
어서와 Java는 처음이지! 제1장 기초 사항 IT응용시스템공학과 김형진 교수.
자바란 무엇인가? JDK의 다운로드 및 설치 방법 Hello, Java 프로그램의 작성 자바 프로그램의 작동 원리
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Java 기초 (Orientation & Java 언어소개)
Java RMI (Remote Method Invocation)
Java RMI (Remote Method Invocation)
Power Java 제4장 자바 프로그래밍 기초.
Kasimov C언어 세미나 1st.
자바 입문.
Power Java 제2장 자바 개발 도구.
Visual C++ Programming
Java IT응용시스템공학과 김형진 교수 2장. 자바의 환경 public class SumTest {
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
DataScience Lab. 박사과정 김희찬 (월)
Power Java 제1장 자바 소개.
( Overview of the Course Kwangman Man ( SangJi University.
Java의 정석 제 1 장 JDK설치 및 설정 Java 정석 남궁성 의
Java의 정석 제 1 장 JDK설치 및 설정 Java 정석 남궁성 의
2강. 개발 환경 설정 JDK 설치 Path 설정 이클립스 다운로드 톰캣 설치 톰캣 환경 설정
제1장 서론.
객체 지향 프로그래밍.
Part-I 자바기초프로그래밍 Round1. 자바 실행 환경 저자 : 김승현.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Lecture 01: Compiler Overview
DataScience Lab. 박사과정 김희찬 (월)
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
김 정 석 Web Programming 김 정 석
프로그래밍 개론 Ⅰ 제 1장 . 서론 ①.
[INA470] Java Programming Youn-Hee Han
Linux/UNIX Programming APUE (Thread Programming)
컴퓨터공학실습(I) 3주 인공지능연구실.
Java IT응용시스템공학과 김형진 교수 5장. 객체지향 개념 public class SumTest {
비주얼 프로그래밍(2분반) 강의노트 2분반 = 월/목.
자바 5.0 프로그래밍.
제8장 쓰레드 프로그래밍.
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
Java RMI (Remote Method Invocation)
컴퓨터 프로그래밍: 실습 1 제 1장 . 서론.
컴퓨터 새내기 탈출 4. 컴퓨터에 생명을.
CHAP. 2 안드로이드 개발 도구 설치.
안드로이드 앱 분석 팀 기반의 설계 프로젝트 박민재
Java 5장. 객체지향 개념 public class SumTest {
강의교안 이용 안내 *이 책에 딸린 강의자료는 교수님의 효율적인 수업진행을 돕기 위해 만들어졌습니다.
Windows System Programming
Chapter2 : 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합개발환경(IDE)
Java Programming for Beginners
컴퓨터 프로그래밍 언어 Visual Basic 6.0 √ 원리를 알면 VB가 쉽다.
J2SE 설치 부산대학교 인공지능 연구실.
Presentation transcript:

제 1 장. JAVA란 작성자 : NLIP

목 차 Java 란? 자바언어의 역사 자바의 주요특성 자바의 개발환경 키트(JDK)의 설치 Compile 및 실행 기본 자바 SITE와 서적

Java 란? 썬 마이크로시스템즈사에서 개발한 객체 지향 프로그래밍 언어 자바 바이트코드(Bytecode) 자바 가상 머쉰(Java Virtual Machine) 특정 플랫폼이 아닌 네트웍 환경과 다양한 하드웨어에서 작동할 수 있다. 자바로 작성된 프로그램은 윈도우, 매킨토시, 유닉스 등 자바 코드를 실행할 수 있는 자바 가상(virtual) 머신만 있으면 자바 코드를 변경할 필요없이 실행할 수 있다. 자바 컴파일러는 바이트 코드(Byte Code)라는 중립적인 구조의 실행 코드를 만들어낸다. 바이트 코드는 각 플랫폼에 있는 인터프리터를 통해 실제로 실행된다. (자바 인터프리터가 자바 코드를 한줄 한줄 실행하게 되어 있다.)

자바 언어의 역사 [1/2] Sun Microsystems Inc. 1990년 “그린 프로젝트”로 시작 James Gosling 1990년 “그린 프로젝트”로 시작 1991년 가전제품을 위한 언어로 개발 <OAK> 범용 프로그래밍 언어로 발전 Java James Gosling, Arthur Van Hoff, Andy Bechtolsheim 인도네시아 산 커피 원료 이름 자바는 월드 와이드 웹이 개발되기 시작하였던 1991년 선 마이크로시스템즈(Sun Microsystems)에서 제임스 고슬링(James Gosling)에 의해 단순하고 버그가 없는 가전 전자 제품을 만드는 것을 목적으로 개발

자바 언어의 역사 [2/2] 모든 OS, 플랫폼 및 GUI에서 작동 될 수 있는 분산 응용 프로그램은 없을까? 분산 Client-server 환경 PC 모든 OS, 플랫폼 및 GUI에서 작동 될 수 있는 분산 응용 프로그램은 없을까? NETWORK Server Mac

자바의 주요 특성 간단하며 친숙한 언어 객체지향 언어 플랫폼에 독립적 견고하고 보안에 강하다 동적 링킹, Multi Thread(멀티스레드) 지원 Garbage Collection(가비지 콜렉션) Java Virtual Machine(JVM)

간단하며 친숙한 언어 [1/2] 작고 간단해서 쉽게 프로그래밍하고, 쉽게 디버깅하고, 쉽게 배울 수 있도록 하는 것 연산자와 문장 구조 : ANSI C 언어 객체 지향적인 개념 : C++ 언어 C/C++의 복잡한 기능 일부 삭제(코드의 단순성) 포인터 연산 삭제, 자동적인 메모리 관리

간단하며 친숙한 언어 [2/2] 자바가 C/C++과 다른점 1.구조체(struct), 공용체(Union), 포인터(pointer)를 지원하지 않는다. 2. typedef와 #define을 지원하지 않는다. 3. 연산자 다중 정의를 지원하지 않는다. 4. 클래스 다중 상속을 지원하지 않는다. 5. 문자 배열로서 String이라는 클래스를 지원한다. 6. 쓰레기 수집( Garbage Collection ) 기능을 제공함으로써 메모리 할당과 해제 함수를 사용할 필요가 없다.

객체지향 언어 객체지향 언어 특성 다형성 자료 추상화(data abstraction) 상속성(inheritance) 다형성(polymorphism) 다형성 function overloading --- method overloading operator overloading --- 지원하지 않음 한 클래스 내에서 함수 이름은 동일하지만 함수의 아규먼트(아큐먼트의 수 아규먼트의 타입)가 다른 경우이다. Public void say(String msg){ } Public void say(String msg, int n){

플랫폼에 독립적 [1/3] 아키텍쳐에 독립적 기존 개발환경과의 비교 플랫폼에 독립적인 Bytecode 사용 JVM(Java Virtual Machine) 기존 개발환경과의 비교 전통적인 컴파일링 시스템 플랫폼에 독립적인 시스템 플랫폼 독립 특정 플랫폼이 아닌 네트웍 환경과 다양한 하드웨어에서 작동할 수 있다. 자바로 작성된 프로그램은 윈도우, 매킨토시, 유닉스 등 자바 코드를 실행할 수 있는 자바 가상(virtual) 머신만 있으면 자바 코드를 변경할 필요없이 실행할 수 있다. 자바 컴파일러는 바이트 코드(Byte Code)라는 중립적인 구조의 실행 코드를 만들어낸다. 바이트 코드는 각 플랫폼에 있는 인터프리터를 통해 실제로 실행된다. (자바 인터프리터가 자바 코드를 한줄 한줄 실행하게 되어 있다.)

플랫폼에 독립적 [2/3] 기존 프로그램 개발 환경 Pentium 소스 코드 PowerPC SPARC 이진 파일

플랫폼에 독립적 [3/3] 자바 개발 환경 (Pentium) Pentium 코드 (플랫폼 독립적) (PowerPC) 자바 컴파일러 (Pentium) (PowerPC) (SPARC) 자바 인터프리터 Pentium PowerPC SPARC 코드 바이트코드 (플랫폼 독립적)

견고하고 보안에 강하다 JVM은 읽어들인 byte code에 대한 security check를 하므로 기존의 언어에 비해 견고한 보안을 제공한다. HiJava.java HiJava.java 컴파일 시점 Internet 4. 신뢰성과 안정성 컴파일시에 엄격한 데이터 형을 검사함으로써 프로그램 실행시 발생할 수 있는 비정상적인 상황 등을 미리 막을 수 있다. 시스템의 힙(Heap)이나 스택(Stack) 등의 메모리에 접근할 수 없기 때문에 바이러스로부터 안전하게 보호될 수 있다. 공용키 암호화 방법으로 사용자를 식별하기 때문에 해커들로부터 암호화 같은 중요한 정보 들을 보호할 수 있게 된다. Class Loader JIT code generator HardWare 실행 시점 ByteCode Verifier Interpreter Runtime

동적이고 멀티 스레드를 지원 동적 링크 언어차원에서 멀티스레드를 지원 중립적인 바이트 코드를 통하여 JVM에서 작동하고,실행시간까지 링크를 지연함으로서 클래스 라이브러리가 동적으로 가져올 수 있도록 한다. 재컴파일 문제점 해결 언어차원에서 멀티스레드를 지원 서로 다른 일을 동시에 처리 가능 하나의 자바 프로그램이 여러 개의 스레드로 구성 동적 링크 클래스가 실행시간에 동적으로 로드 재컴파일 문제점 해결(인터프린터 언어) 6. 멀티스레드(Multi-thread) 하나의 프로그램 안에서 여러 작업을 동시에 처리할 수 있는 기능이 있다.

자바 개발 환경 프로그래밍 환경 운영 환경 통합 환경(IDE) 프로그램 작성 편집기, 디버거 프로그램 실행 컴파일러, 실행시간 지원 시스템, 라이브러리 시스템 JDK(Java Developers Kit) 통합 환경(IDE) Visual J++, Jbuilder, Symantec Cafe

키트(JDK)의 설치[2/1] 1. JDK 최신 버전을 다운로드 및 설치 http://java.sun.com/products/jdk/1.3 1.2버전 이후로는 JAVA 2 SDK(Software Development Kit)이란 명칭으로 배포 2. 실행 파일 경로 설정(c:\jdk1.3 에 설치) - Win 95/98(c:\autoexec.bat 파일 끝에 다음을 추가) set path=c:\jdk1.3\bin; set classpath=c:\jdk1.3\jre\lib\rt.jar; - Win NT(제어판의 시스템/환경변수 탭 조정) Path변수: c:\jdk1.3\bin 추가 ClassPath 변수 : 현재 디렉토리(.) 추가

키트(JDK)의 설치 [2/2] JDK설치 확인 class Test{ public static void main(String args[]) { System.out.println("Hello World!"); } 결과가 Hello World!가 나오면 JDK를 성공적으로 설치 결과: Hello World!

Compile 및 실행하기 Compile 방법 - dos창을 열어 다음을 입력한다. - Compile이 완료되면 .class파일 생성 C:\javac FileName(파일명).java 실행 방법 - dos창을 열어 다음을 입력한다. - 화면에 결과 출력 C:\java FileName(파일명)

기본 자바 SITE와 서적 자바 API 스팩 자바 웹 서적 http://java.sun.com/products/jdk/1.3/download-docs.html 자바 웹 서적 썬에서 제공하는 무료 온라인 지도서 http://java.sun.com/docs/books/tutorial Java Lecture Notes http://sunsite.unc.edu/javafaq/course/

에디터(Editor) EditPlus 다운로드 http://www.editplus.co.kr/kr/download.html