1 / 19

김순현 tnsgus239@gmail 군산대학교 통계컴퓨터과학과 정보과학기술 연구실 2013. 01. 21

JAVA. JAVA 의 소개. 김순현 tnsgus239@gmail.com 군산대학교 통계컴퓨터과학과 정보과학기술 연구실 2013. 01. 21. 목차. 자바소개 자바 개발 도구 자바 프로그램의 기초. JAVA(1/4). 프로그램 컴퓨터를 위한 작업 지시서로서 구체적으로 컴퓨터가 특정한 작업을 하기 위한 명령어들의 리스트 컴퓨터를 범용적인 기계로 만듬 명령어 (instruction):CPU 가 수행하는 기초적인 연산 프로그래밍 언어

mauli
Download Presentation

김순현 tnsgus239@gmail 군산대학교 통계컴퓨터과학과 정보과학기술 연구실 2013. 01. 21

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. JAVA JAVA의 소개 김순현 tnsgus239@gmail.com 군산대학교 통계컴퓨터과학과 정보과학기술 연구실 2013. 01. 21

  2. 목차 • 자바소개 • 자바 개발 도구 • 자바 프로그램의 기초 IST (Information Sciences & Technology) Laboratory

  3. JAVA(1/4) • 프로그램 • 컴퓨터를 위한 작업 지시서로서 구체적으로 컴퓨터가 특정한 작업을 하기 위한 명령어들의 리스트 • 컴퓨터를 범용적인 기계로 만듬 • 명령어(instruction):CPU가 수행하는 기초적인 연산 • 프로그래밍 언어 • 인간이 보다 쉽게 지시를 내리기 위하여 프로그래밍 언어들이 만들어짐 • 컴퓨터는 이진수인 기계어만 이해 • 소스 코드: 프로그래밍언어를 사용하여 원하는 작업을 텍스트로 기술한 것 • 소스 파일: 소스 코드가 파일에 저장된 것 • 오브젝트 파일: 컴파일러가 소스 파일을 기계어로 변환하여서 저장하는 파일 IST (Information Sciences & Technology) Laboratory

  4. JAVA(2/4) • 자바의 기초 개념 • 자바는 다양한 컴퓨터에서 실행이 가능 • 자바 컴파일러는 특정 컴퓨터를 위한 코드를 바로 생성하지 않음 • 바이트 코드: 가상적인 기계를 위한 코드 • 자바 가상 기계: 바이트 코드를 다양한 운영 체제에서 변경없이 실행하게 함 • 자바 플랫폼 • 플랫폼: 프로그램이 실행되는 하드웨어나 소프트웨어 환경 • 자바 가상기계(JVM: Java Virtual Machine) • 자바 응용 프로그래밍 인터페이스 (API: Application Programming Interface): 많은 유용한 기능을 제공하는 라이브러리들의 모임 • 자바의 역사 • SUN의 제임스고슬링을 비롯한 Green연구팀이 가정용 전자제품에 사용할 수 있는 컴퓨터 언어를 설계하다가 만들어짐 IST (Information Sciences & Technology) Laboratory

  5. JAVA(3/4) • 자바의 특징 • 단순: C++에서 시작했지만 복잡하고 별로 쓰이지 않는 기능을 삭제 • 객체 지향 : 객체 별로 코드를 작성하고 객체들을 조합하여 프로그램을 설계 • 견고: 오류를 만드는 원인을 제거 ex)포인터 • 안전: 바이러스, 파일의 삭제나 수정, 데이터 파괴 작업, 컴퓨터오류연산 등을 방지하면서 실행되도록 설계 • 컴퓨터 구조에 중립적: 자바 컴파일러는 컴퓨터 구조에 중립적인 바이트 코드로 번역 됨 • 이식 가능: 하드웨어 구조, 운영체제, 윈도우 시스템에 독립적인 바이트 코드 사용 • 고성능: JIT 컴파일러를 사용해서 성능이 향상됨 • JIT 컴파일러: 자바 코드를 실제 컴퓨터의 기계어로 직접 변환, 인터프리트과정없이 직접실행 가능 • 멀티 스레드 지원: 많은 작업을 동시에 하므로 효율적임 • 동적: 동적으로 변화하는 환경에 적응하도록 설계 • 분산 환경 지원 IST (Information Sciences & Technology) Laboratory

  6. JAVA(4/4) • 자바의 에디션 • Java SE: 자바 언어의 핵심 기능을 제공 • Java EE: 기업용 애플리케이션 개발 사용, Java SE 플랫폼 상에 구축 • Java ME: 모바일 기기나 임베디드 장치를 위한 강인하고 유연한 환경을 제공 • Java FX: 개발자들이 더 쉽게 리치-인터넷-애플리케이션(RIA)을 생성하고 배포하기 위한 자바 클라이언트 플랫폼 • 자바로 만들 수 있는 것 • 자바 애플리케이션: 독립적으로 실행될 수 있는 응용 프로그램 • 자바 애플릿: 웹 브라우저 안에서 실행되는 프로그램 • 자바 서블릿: 웹 서버에서 동작하는 서버 모듈 • JSP: HTML안에 자바 코드를 넣어 웹페이지를 사용자와 상호작용하도록 만듬 • 자바 빈즈: 자바로 작성된 컴포넌트 • 안드로이드 애플리케이션 IST (Information Sciences & Technology) Laboratory

  7. 자바 개발 도구(1/4) • JDK(자바 개발 도구)설치 • 자바 프로그램을 개발하기 위해서는 자바 언어를 컴파일 할 수 있는 컴파일러가 있어야 함 • 일반적으로 컴파일러와 디버깅 도구, 각종 유틸리티 등의 개발 관련 프로그램을 개발도구라 함 • java.sun.com에서 무료로 다운로드 가능 • JDK와 JRE의 차이 • JRE(Java Runtime Environment) • JRE는 자바 프로그램을 실행하기 위한 라이브러리, 자바가상기계,기타 컴포넌트들을 제공, 자바 프로그램을 단순히 실행만 하고 개발은 하지 않는 일반인들을 위한 환경 • JDK(Java Development Kit) • JDK는 JRE에 추가로 자바 프로그램을 개발하는데 필요한 컴파일러, 디버거와 같은 명령어행 개발 도구를 추가한 것, JDK안에 JRE가 포함 IST (Information Sciences & Technology) Laboratory

  8. 자바 개발 도구(2/4) • JDK의 폴더 • src.zip 파일 : 자바 핵심 API를 이루는 클래스 라이브러리 소스 IST (Information Sciences & Technology) Laboratory

  9. 자바 개발 도구(3/4) 에디터 Hello.java 컴파일러 Hello.class 클래스 적재기 메인메모리 바이트 코드 검증기 자바 가상 기계 • 자바 프로그램 개발 단계 • 소스 파일의 생성 • 에디터를 사용하여소스 코드를 입력하여파일에 저장 • 파일은 .java 확장자 • 컴파일 • 소스 파일을 자바 컴파일러로 컴파일 실행 • 소스코드를 바이트 코드로 변환 • 바이트 코드는 .class 확장자 • 클래스 파일이라 함 • 클래스 적재 • 클래스 적재기는 프로그램의 바이트 코드가 들어 있는 클래스 파일을 메모리로 적재하고 실행 도중에 필요한 다른 클래스 파일도 함께 적재 IST (Information Sciences & Technology) Laboratory

  10. 자바개발 도구(4/4) • 클래스 파일은 로컬 컴퓨터의 디스크에서 적재될 수도 있지만 네트워크를 통하여 적재될 수도 있음 • 바이트 코드 검증 • 바이트 코드들이 이상이 없으며 자바의 보안 규칙을 위배하지 않는지를 검사 • 실행 • 자바 가상 기계(JVM)가 바이트 코드를 실행 IST (Information Sciences & Technology) Laboratory

  11. 자바 프로그래밍 기초(1/8) • 클래스의정의 • 자바 프로그램은 클래스들의 모임으로 구성 • 객체 지향 언어에서는 프로그램 개발의 단위가 클래스 • 필요한 클래스를 하나씩 만들어감으로써 전체 프로그램을 완성 • 메소드 • 프로그램이 해야 하는 작업을 적어놓는 곳 • 안에 있는 문장들을 차례대로 실행한 후에 작업의 결과를 외부로 반환함 IST (Information Sciences & Technology) Laboratory

  12. 자바 프로그래밍의 기초(2/8) • main()메소드 • 자바 프로그램의 실행이 시작 • 문장 • 사용자가 컴퓨터에서 작업을 지시하는 단위 • 프로그램을 이루는 가장 기본적인 단위 • 메소드 안에 포함 • 보통 프로그램의 한 줄이 하나의 문장이 되며 문장의 끝은 항상 세미콜론(;)으로 끝남 • 문장은 차례대로 실행 • 변수 • 프로그램이 사용하는 데이터를 일시적으로 저장할 목적으로 사용하는 메모리 공간 • 어떤 데이터를 저장하느냐에 따라 여러 가지 타입이 있음 • 변수를 구분하기 위해 각각 자신만의 이름을 가짐 IST (Information Sciences & Technology) Laboratory

  13. 자바 프로그램의 기초(3/8) • 상수 • 값이 프로그램이 실행하는 동안 변하지 않는 수 또는 변경 불가능한 수 • 변수와 반대되는 개념 • 주석문 • 소스의 설명을 적어놓은 곳으로 컴파일러는 무시함 • /* text */ • // text : 줄의 끝까지 무시 됨 • /** documentation */ : 선언문 앞에서만 사용 • 수식 • 변수, 상수, 연산자 등으로 구성 • 수식은 항상 결과값을 가짐 IST (Information Sciences & Technology) Laboratory

  14. 자바 프로그램의 기초(4/8) IST (Information Sciences & Technology) Laboratory

  15. 자바 프로그램의 기초(5/8) • 대입연산 • “=“ 연산자 • 우변의 값을 좌변의 변수에 저장 • 산술연산 • 사칙 연산자는 두 개의 피연산자를 가지기 때문에 이항 연산자라고 불림 • 산술 연산자 IST (Information Sciences & Technology) Laboratory

  16. 자바 프로그램의 기초(6/8) • import 문장 • import java.util.Scanner; //Scanner 클래스 포함 • 입력 기능을 가지고 있는 클래스를 포함시키는 문장 • 자바 클래스 라이브러리에 있는 클래스 • 객체생성 • Scanner input = new Scanner (System.in); • 변수를선언하면서 초기화하는 문장 • 사용자로부터 입력 • x = input.nextInt(); // 사용자로부터 첫 번째 정수를 읽음 • Scanner 객체인 input을이용하여 사용자로부터 정수를 읽어 들이는 문장 • nextInt() 메소드는 사용자로부터 정수를 입력 받아서 변수 x에 대입 • 실수는 nextDouble() 사용 IST (Information Sciences & Technology) Laboratory

  17. 자바 프로그램의 기초(7/8) IST (Information Sciences & Technology) Laboratory

  18. 자바프로그램의 기초(8/8) • 오류 • 컴파일 오류(compile-error) • 컴파일 시에 발견되는 오류 • 구문오류: 문법 규칙에 따르지 않는 문장을 발견하면 표시 • 의미오류: 계산식에서 호환이 되지 않는 서로 다른 타입의 데이터가 포함된 계산을 시도하는 경우 • 컴파일 오류가 발생하면 클래스 파일이 만들어지지 않음 • 실행 오류(run-time error) • 프로그램이실행되는 도중에 발생되는 오류 • 오류가 발생하면 프로그램이 비정상적으로 종료 • 자바에서는 많은 실행오류들이 예외를 사용하여 처리 됨 • 논리 오류(logical error) • 컴파일 되고 실행도 되지만 의도하지 않은 결과를 발생하는 경우 • 결함을 찾고 고치는 디버깅이 필요 IST (Information Sciences & Technology) Laboratory

  19. 감사합니다 Yang_ka@kunsan.ac.kr 군산대학교 정보통계학과 정보과학기술 연구실 2012.01.03 김순현 tnsgus239@gmail.com 군산대학교 통계컴퓨터과학과 정보과학기술 연구실 2013.01.21

More Related