1 / 22

자바의 출현

자바의 출현. www 정보의 공유 월드 와이드 웹 (WWW) 은 유럽의 입자물리학연구소 (CERN:the European Laboratory for Particle Physics) 에서 연구 결과 및 자료의 효율적인 공유를 목적으로 1989 년 3 월 Tim Berners Lee 의 제안에 의해 연구가 시작되어 개발 자바 자바는 인터넷에 가장 적합하도록 개발된 기술. 자바 정의. JAVA 인도네시아 섬 , 커피의 대명사 등 … JAVA 란 언어다

gary-ashley
Download Presentation

자바의 출현

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 자바의 출현 • www • 정보의 공유 • 월드 와이드 웹(WWW)은 유럽의 입자물리학연구소(CERN:the European Laboratory for Particle Physics)에서 연구 결과 및 자료의 효율적인 공유를 목적으로 1989년 3월 Tim Berners Lee의 제안에 의해 연구가 시작되어 개발 • 자바 • 자바는 인터넷에 가장 적합하도록 개발된 기술

  2. 자바 정의 • JAVA • 인도네시아 섬, 커피의 대명사 등… • JAVA란 언어다 • 미국 Sun Microsystems사에서 개발한 객체지향 프로그래밍 언어 • 1995년 5월, Sun World에서 공식발표 • 1996년 1월, JDK1.0 발표 • 객체지향언어(Object Oriented Language) • 60년 말 Simula 언어에서 발전 • C++를 문법을 기본으로 개발 • Java 이전에 객체지향언어로 가장 범용적인 언어 • 83년 경, AT&T연구소의 Bjarne Stroustrup(얀 스트로스트럽)이 개발 • C언어에 객체지향 특성 확장 • JAVA란 플랫폼이다. • 서버와 핸드폰, 스마트 카드와 같이 서로 다른 여러 물리적인 플랫폼에 이식되어 운영될 수 있는 소프트웨어 플랫폼(software-only platform)

  3. 자바의 역사 • 1990년 Green Project에서 시작 • Green project • http://java.sun.com/people/jag/green/index.html • 양방향 TV를 만드는 제어박스 제작 프로젝트 • 모든 하드웨어에서 작동할 수 있도록 고안 • 초기에 C++채택 • 다양한 하드웨어를 지원하는 분산 네트웍 시스템 개발에 부족 • Oak라는 언어를 직접 개발, 이를 발전시켜 Java가 개발됨 • James Gosling이 개발 • http://java.sun.com/people/jag • Java history • http://java.sun.com/features/1998/05/birthday.html • 1995년 5월에 SunWorld95에서 HotJava와 함께 공식 발표 • HotJava(웹 브라우저)와 함께 공식 발표 • 자바 프로그램인 애플릿이 실행되는 브라우저 HotJava • 05년 현재 J2SE Development Kit 5.0

  4. 브라우저 HotJava http://java.sun.com/features/1997/feb/HotJavaBrowser.html 초기 애플릿이 실행되는 브라우저 애플릿 자바 언어로 만들어져 인터넷 웹브라우저에서 서비스되는 프로그램 http://java.sun.com/applets/ http://java.sun.com/openstudio/index.html HotJava와 애플릿

  5. 자바 개발도구 • JDK(Java Development Kit) • 자바 프로그램을 개발하기 위한 최소의 환경 • 자바 컴파일러, 인터프리터, 디버거 등의 개발 환경 • JRE(Java Runtime Environment) : 자바 실행 환경 • 용어의 변화 • JDK • J2SDK(Java 2 Software Development Kit) • V 1.2 이후 , 이 때부터 자바를 자바 2라 칭함 • J2SE(Java 2 Standard Edition) • V 5.0(1.5) 부터 • 개발도구 • J2SE Development Kit, 줄여서 JDK • 플랫폼(개발, 실행환경) • Java 2 Platform Standard Edition, 줄여서 J2SE

  6. 자바 버전 발달

  7. 자바 통합개발환경 • IDE(Integrated Development Environment) • 프로그램을 개발하는데 필요한 컴파일러, 디버거, 링커, 에디터 등을 통합적으로 제공하는 개발환경 • 종류 • Sun • SUN ONE STUDIO • 마이크로소프트 사 • Visual J++ • Borland 사 • Jbuilder • Oracle • JDeveloper • 가격이 저렴하거나 무료인 개발 도구 • JCreator, JPadPro, Kawa등도 많이 이용

  8. 개방 컨소시엄 • NetBeans • Sun이 주도 • 넷빈 컨소시엄(netbean.org)에서 개발하는 무료 통합개발환경으로 그 소스도 개방 • 테스크탑, 웹, 모바일, 무선 등 여러 플랫폼의 응용 프로그램을 개발할 수 있는 우수한 통합개발환경 • 현재 넷빈 IDE의 버전 4.0 • Eclispe • IBM이 주도 • 이클립스(eclise.org) 컨소시엄이 개발하는 자바 통합개발환경이 이클립스(Eclipse) • 2001년 5월에 버전 1.0을 출시 • 자바 개발도구라기보다는 플러그인 개발환경(Plug-in Development Environment)이라고 부름 • 이클립스는 C/C++, Java, COBOL 등의 다양한 언어와 다양한 도구를 플러그인해 이용할 수 있는 개방형 플랫폼 • 현재 3.0.1

  9. 자바의 성공 • 새로운 패러다임 • 자바는 인터넷 시대를 위한 새로운 패러다임을 제시한 프로그래밍 언어 • 정보시스템의 개발도구 및 기반 기술로 발전한 자바의 성공 원인을 다음 세 가지로 요약 • 인터넷 응용을 위한 이상적인 프로그램 언어 • 배우기 쉽고, 간편한 객체지향 언어 • 플랫폼에 독립적인 언어

  10. Java의 특징 • 간편하다.(Simple) • 객체지향 언어이다.(Object-oriented) • 시스템에 독립적이다.(Architecture-neutral) • 번역 언어이다.(Interpreted) • 분산처리 언어이다.(Distributed) • 강인하다.(Robust) • 다중 스레드를 지원한다.(Multithreaded) • 역동적이다.(Dynamic) • 이식이 쉽다.(Portable) • 보안이 뛰어나다.(securable) • 자바는 간편한 객체지향 프로그램 언어로 시스템에 독립적인 번역 언어이다

  11. 특징 요약 • Simple • c++의 객체지향 개념에 영향을 받아서 설계되었으나 복잡한 C++의 구문(포인터, 다중상속 등)들을 제외 • Object oriented • 실세계를 모델링한 객체지향언어, 함수나 변수가 아닌 클래스로부터 생성된 개체이용 • Aarchitecture neutral, portable • 플랫폼 독립성 (구조에 중립적인 바이트 코드 사용, 이식성 높다) • Interpreted • 시스템에 따른 인터프리터를 통하여 실행 • Distributed • 분산 네트워크 환경에 적합 (네트워크상의 파일이나 개체를 사용하여 원격지 프로그램과 상호 동작) • Robust • 실행 중 발생될 오류 처리를 위한 exception handling 제공, 포인터 사용 안함, 자동메모리관리(garbage collection) • Multithreaded • 하나의 프로그램이 동시에 여러 작업 수행 • Dynamic • 종속된 개체에 영향 없이 라이브러리의 개체의 수정이나 추가 용이 • Secure • 바이트 코드 검증 (부적절한 클래스접근, 스택의 오버플로우 , 부적절한 형 변환) • High-performance • 다른 인터프리터(basic, perl)보다 빠르게 처리

  12. Java의 특징 • 간편하다. • 배우기 쉽고 간편하다 • 기존의 C, C++에 비해 • 자바가 제공하지 않는 C++ 언어의 요소 • 포인터 연산 • 구조체(struct) 와 TypeDef • 전처리기(Preprocessor ) • 메모리 할당 후 제거의 필요 • 객체지향 언어이다 • 유연(flexible)하며 클래스를 이용한 모듈 중심의 프로그램이 가능 • 쉬운 유지보수(easy maintenance) • 재활용(reusing code)에 유리 • 필요한 클래스 라이브러리 제공 • 기본 클래스의 확장이 용이

  13. Java의 특징(계속) • 시스템에 독립적이다 • 소스 (source) 및 이진(실행) 파일 (binary file)에서 독립적 • 하나의 플랫폼에서 만든 자바 프로그램은 여러 플랫폼에서 재수정 없이 실행가능 • C, C++과 같은 기존의 언어 • platform dependent • 자바가 생성한 바이트코드(bytecode) • platform independent • 자바 가상 기계(Java Virtual Machine) • 자바 바이트코드가 실행되는 가상 기계 • 번역 언어이다.(Interpreted) • 자바는 자바 가상 기계에 의해 수행되는 번역 언어 • 분산처리 언어이다.(Distributed) • 자바는 인터넷에 필요한 주요 프로토콜을 지원 • TCP/IP, HTTP • 분산처리를 지원하는 다양한 클래스를 제공 • RMI(Remote Method Invocation) 기법 시스템(프로그램)이 실행되는 기반 환경으로 CPU, OS등에 의해 결정

  14. 자바의 특징(계속) • 강인하다.(Robust) • 강력한 검사 기능을 제공하여 안정적 시스템 • 다중 스레드를 지원한다.(Multithread) • 하나의 프로그램에서 다중 스레드를 지원 • 스레드는 하나의 프로그램 내에서 연속되는 단일 프로그램 제어 • 역동적이다.(Dynamic) • 자바는 실행시간에 필요한 라이브러리를 참조 • 이식이 쉽다.(Portable) • 자바는 C언어와는 다르게 자료 유형의 크기가 모든 시스템에서 동일 • 보안이 뛰어나다.(Secure) • 자바 가상 기계에서 실행되기 때문에 기반 플랫폼의 운영체제나 자원에는 치명적인 문제를 방지할 수 있어 보안이 뛰어남

  15. 자바 기술, Java Platform • Java 2 Platform, Standard Edition (J2SE) • 응용 프로그램(Applications)과 애플릿(Applets) 프로그램을 빠르게 개발, 구현할 수 있는 해결책 • 자바 언어를 이용하여 프로그램을 개발하기 위한 주요 도구인 컴파일러, 실행환경, 클래스 라이브러리 API(Application Programming Interface) 등을 제공 • Java 2 Platform, Enterprise Edition (J2EE) • 기업 버전은 다중계층(Multitier)의 대규모 기업 응용 시스템을 개발하기 위한 표준 플랫폼을 제공 • 기업 자바빈즈 콤포넌트(Enterprise JavaBeans Component), 자바 서블릿(Java Servlets), 자바 서버 페이지(Java Server Pages), XML (eXtended Markup Language) 기술에 필요한 여러 자료 및 소프트웨어를 제공 • Java 2 Platform, Micro Edition (J2ME) • 모바일 전화기 및 PDA, TV 셋탑박스, 이동 차량에 부착된 각종 장치 및 여러 임베디드 장치(Embedded devices)를 위한 자바 플랫폼 • J2ME는 메모리 및 여러 용량이 작은 장치 및 임베디드 장치를 위한 자바 기술을 제공

  16. 자바와 닷넷(.Net) • 자바의 경쟁자 닷넷 • “Write Once, Run Anywhere” • CIL과 Bytecode • 닷넷이 작동되기 위한 환경인 닷넷 프레임워크(.Net Framework)는 자바 플랫폼의 자바 운영 환경(JRE)이다. • 닷넷의 공통 중개 언어(Common Intermediate Language) 는 자바의 바이트코드와 대응 • CLR과 JVM • CLR(Common Language Runtime)과 JVM(Java Virtual Machine) • 각각 하나의 플랫폼에서 개발된 프로그램을 모든 플랫폼에서 실행할 수 있게 만드는 새로운 프로그래밍 패러다임을 가능하게 하는 공통된 새로운 기술 • 자바 언어와 C# 언어 • 2000년에 소개된 C#은 자바와 C++를 결합한 닷넷의 주력 언어 • 전망 • Windows 플랫폼과 Unix 플랫폼이 경쟁하면서 공존하듯이 자바와 닷넷도 함께 발전

  17. Java 홈페이지 • URL • http://www.javasoft.com • http://java.sun.com • 주 메뉴 • 왼쪽에는 Downloads, References, Community, News & Updates, Learning으로 구성 • 오른쪽 상단에는 인기가 높은 자료를 내려 받을 수 있는 Popular Downloads로 구성

  18. JDK와 J2SE Documentation JDK 다운로드

  19. 자바 문서 • 첫 페이지

More Related