Transcript Java 란?

제 1 장. JAVA란
작성자 : NLIP
목차







Java 란?
자바언어의 역사
자바의 주요특성
자바의 개발환경
키트(JDK)의 설치
Compile 및 실행
기본 자바 SITE와 서적
Java 란?



썬 마이크로시스템즈사에서 개발한 객체 지향
프로그래밍 언어
자바 바이트코드(Bytecode)
자바 가상 머쉰(Java Virtual Machine)
자바 언어의 역사 [1/2]

Sun Microsystems Inc.





James Gosling
1990년 “그린 프로젝트”로 시작
1991년 가전제품을 위한 언어로 개발 <OAK>
범용 프로그래밍 언어로 발전
Java


James Gosling, Arthur Van Hoff, Andy Bechtolsheim
인도네시아 산 커피 원료 이름
자바 언어의 역사 [2/2]
분산 Client-server 환경
PC
NETWORK
Server
Mac
모든 OS, 플랫폼
및 GUI에서 작동
될 수 있는 분산
응용 프로그램은
없을까?
자바의 주요 특성

간단하며 친숙한 언어

객체지향 언어

플랫폼에 독립적

견고하고 보안에 강하다

동적 링킹, 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 --- 지원하지 않음
플랫폼에 독립적 [1/3]

아키텍쳐에 독립적



플랫폼에 독립적인 Bytecode 사용
JVM(Java Virtual Machine)
기존 개발환경과의 비교


전통적인 컴파일링 시스템
플랫폼에 독립적인 시스템
플랫폼에 독립적 [2/3]

기존 프로그램 개발 환경
이진
파일
컴파일러(Pentium)
소스
코드
Pentium
이진
파일
컴파일러(PowerPC)
PowerPC
이진
파일
컴파일러(SPARC)
SPARC
플랫폼에 독립적 [3/3]

자바 개발 환경
자바
인터프리터
자바 컴파일러
(Pentium)
자바
코드
Pentium
자바
바이트코드
자바 컴파일러
(PowerPC)
(플랫폼 독립적)
자바
인터프리터
PowerPC
자바
인터프리터
자바 컴파일러
(SPARC)
SPARC
견고하고 보안에 강하다

JVM은 읽어들인 byte code에 대한 security check를
하므로 기존의 언어에 비해 견고한 보안을 제공한다.
HiJava.java
HiJava.java
컴파일 시점
Internet
Class Loader
JIT code generator
HardWare
ByteCode Verifier
Interpreter
Runtime
실행 시점
동적이고 멀티 스레드를 지원

동적 링크



중립적인 바이트 코드를 통하여 JVM에서 작동하고,
실행시간까지 링크를 지연함으로서 클래스 라이브
러리가 동적으로 가져올 수 있도록 한다.
재컴파일 문제점 해결
언어차원에서 멀티스레드를 지원


서로 다른 일을 동시에 처리 가능
하나의 자바 프로그램이 여러 개의 스레드로 구성
자바 개발 환경

프로그래밍 환경



운영 환경




프로그램 작성
편집기, 디버거
프로그램 실행
컴파일러, 실행시간 지원 시스템, 라이브러리 시스템
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!
결과가 Hello World!가 나오면 JDK를 성공적으로 설치
Compile 및 실행하기
 Compile 방법
- dos창을 열어 다음을 입력한다.
C:\javac FileName(파일명).java
- Compile이 완료되면 .class파일 생성
 실행 방법
- dos창을 열어 다음을 입력한다.
C:\java FileName(파일명)
- 화면에 결과 출력
기본 자바 SITE와 서적

자바 API 스팩


http://java.sun.com/products/jdk/1.3/do
wnload-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.h
tml