(http://compiler.sangji.ac.kr, kkman@sangji.ac.kr) Lecture 01: Java 소개 Kwangman KO (http://compiler.sangji.ac.kr, kkman@sangji.ac.kr) SangJi University.

Slides:



Advertisements
Similar presentations
ⓒ 2015 NHN Entertainment Corp. Django 로 만드는 초간단 블로그 시스템운영팀 김영태 개발환경 구축.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
KUMHO SOFTWARE DEVELOPMENT 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램 2.4 자바 응용 프로그램 2.5 자바 애플릿 프로그램 2. 자바 환경과 자바 프로그램.
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
1 강. 안드로이드 개요 및 개발 환경 구축 - 안드로이드 개요 -JDK 설치 -Path 설정 - 이클립스 설치 -ADT, SDK 설치 Lecturer Kim Myoung-Ho Nickname 블스
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
자바 언어의 이해 Understanding of Java Programming
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Image & Video processing
Power Java 제3장 이클립스 사용하기.
Power Java 제3장 이클립스 사용하기.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
1장. 자바 시작하기.
제1장 기초 사항 융합기술공학과 김형진 교수.
자바 개요.
1장. 자바 개요.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Power Java 제2장 자바 개발 도구.
Ubiquitous Computing Practice - Part I (Installation) -
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
자바 입문.
JSP Programming with a Workbook
Java 기초 (Java JDK 설치 및 환경설정)
Java IT응용시스템공학과 김형진 교수 2장. 자바의 환경 public class SumTest {
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
CHAPTER 2 자바의 환경 Section 1 자바 프로그램의 형태 Section 2 자바 프로그램의 실행환경.
[INA470] Java Programming Youn-Hee Han
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
Method & library.
자바응용.
2장. JSP 프로그래밍을 위한 환경구성 제2장.
Java 2장. 자바의 환경 public class SumTest {
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Lesson 2. 기본 데이터형.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
자바 5.0 프로그래밍.
Part 1 개요 Chapter 1 : 컴퓨터와 프로그램 그리고 자바 Chapter 2 : 자바의 환경
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
Python 및 OpenCV 설치.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
암호학 응용 Applied cryptography
Introduction to JSP & Servlet
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
Chapter 01 자바의 개요 자바는 최초 전자기기의 내장형 소프트웨어를 위해 개발되었으나, 최근 엔터프라이즈 응용에도 폭 넓게 활용됨 자바의 특징과 실행방법, 개발 환경 및 도구에 대해 소개.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
발표자 : 이지연 Programming Systems Lab.
9 브라우저 객체 모델.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Installation Guide.
자바 프로그래밍 입문 : 객체지향적 사고법 chapter 01. 자바 언어의 소개.
JAVA 프로그래밍 16장 JNLP.
J2SE 설치 부산대학교 인공지능 연구실.
Presentation transcript:

(http://compiler.sangji.ac.kr, kkman@sangji.ac.kr) Lecture 01: Java 소개 Kwangman KO (http://compiler.sangji.ac.kr, kkman@sangji.ac.kr) SangJi University 2012

이 장의 내용 Java의 발전 과정과 응용 분야 컴퓨터 하드웨어 구조 프로그램이 실행되는 원리 프로그램과 프로세스의 차이

Java는 이름? Java는 커피 생산지 아닌가? Oak 프로젝트란? Oak 프로젝트를 개명하여 Java로 바꿈 제임스 고슬링이 주도한 프로젝트 임베디드 시스템용 프로그램을 개발하기 위한 프로젝트 Java의 높은 안전성은 '임베디드 시스템'으로부터 유래됨

Java, 객체지향 프로그래밍 Java는 객체지향 프로그래밍 언어 고슬링은 왜 Java를 선택했는가? 객체지향 프로그래밍: 객체를 중심으로 프로그램을 작성하는 방식 객체: 상태를 유지하며 외부 요청에 반응하는 어떤 대상을 나타냄 고슬링은 왜 Java를 선택했는가? 임베디드 시스템은 계산 자원이 충분하지 않음 그에 비해 C++나 Smalltalk은 너무 덩치가 컸음 그래서 고슬링은 새로운 언어를 만들기로 결정함

Java의 특징 객체지향성 하드웨어 독립성 강력한 라이브러리 다양한 플랫폼 자동 메모리 관리 프로그램 설계와 유지보수가 쉬움 한 번 작성하여 아무곳에서나 실행(Write Once Run Anywhere; WORA) 강력한 라이브러리 다양한 응용분야를 지원할 수 있음 다양한 플랫폼 데스크톱은 물론, 휴대폰, 서버까지 지원함 자동 메모리 관리 불안정한 상태가 되는 현상을 줄일 수 있음

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

운영체제 독립적 운영체제는 하드웨어 자원을 관리하는 시스템 소프트웨어 일반적으로 운영체제가 다르면, 프로그램이 동작하지 않는다.

아키텍처에 독립적 기존 개발환경과의 비교 플랫폼 독립적인 중간코드 사용 – 바이트코드(bytecode) 가상기계를 이용하여 실행 – JVM(Java Virtual Machine) 기존 개발환경과의 비교 전통적인 컴파일링 시스템 플랫폼에 독립적인 시스템

네이티브 에플리케이션

Java 어플리케이션

컴파일 및 실행 HelloWorld.java 자바 컴파일러 (javac) HelloWorld.class public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } C:\JDK\BIN>javac HelloWorld.java C:\JDK\BIN>java HelloWorld Hello World!

하드웨어와 소프트웨어 컴퓨터 하드웨어 컴퓨터 소프트웨어 컴퓨터를 구성하는 물리적 장치 본체, 모니터, 키보드, 마우스 등 본체 내에는 CPU, 메모리(RAM) 등이 존재함 컴퓨터 소프트웨어 컴퓨터가 수행할 프로그램과 필요한 데이터 매우 중요하긴 하지만 하드웨어 없이는 볼 수 없는 형태임 시스템 소프트웨어와 응용 소프트웨어로 구성됨

컴퓨터 하드웨어 구조 CPU와 주변장치가 BUS로 연결되어 있음 BUS는 데이터 전송로임 CPU BUS 입출력장치 RAM HDD 저장장치 CPU RAM 메모리 입출력장치 BUS

프로그램과 프로세스 프로그램 프로세스 컴퓨터가 수행할 명령어들을 나열한 것 하드디스크에 파일 형태로 저장되어 있음 실행 시에는 메모리로 읽어 들임(적재; loading) 프로세스 메모리에 적재되어 수행되고 있는 프로그램 명령어 뿐만 아니라 수행 상태 정보도 포함하고 있음 현대적 운영체제는 여러 프로세스를 동시에 수행함

컴파일러와 인터프리터 컴파일러 인터프리터 CPU가 알아듣는 명령어를 기계어(machine language)라고 함 프로그래밍 언어로 작성된 프로그램을 기계어로 번역해 주는 프로그램 인터프리터 프로그램의 한 문장을 필요할 때마다 해석하여 수행하는 프로그램 CPU의 인출-실행 주기와 같은 방식으로 동작함

컴파일(Compile) 기법 프로그램이 컴파일러에 의해 0과 1로 구성된 이진 파일로 번역된 다음, 번역된 파일이 컴퓨터에서 실행되는 기법

인터프리트(Interprete) 기법 프로그램을 한 줄씩 번역한 다음 바로 실행시켜 결과를 나타내는 방식(실행파일을 만들지 않는다)

하이브리드(Hybrid) 기법 컴파일 기법과 인터프리트 기법을 모두 사용하는 방식(중간코드 사용)

실행 환경에 따른 프로그램 분류 데스크톱 프로그램 웹 프로그램 독립적인 한 컴퓨터에서 수행되는 프로그램 흔히 응용 프로그램이라고 부름 웹 프로그램 웹 브라우저를 통하여 수행되는 프로그램 전통적인 클라이언트 서버 프로그램의 일종임

Web program vs. Java 웹 프로그램의 특징 Java와 웹의 관계 웹 브라우저 상에서 수행되므로 설치할 필요가 없음 한 번만 작성하면 아무 곳에서나 수행될 수 있음 WORA(write once, run anywhere) Java와 웹의 관계 Java 프로그램은 웹 브라우저에서 실행되도록 작성할 수 있음 웹 브라우저에 Java 실행 엔진을 탑재시키고 Java 코드를 네트워크로 전송함

Java Virtual Machine; JVM 실제 기계가 아니라 프로그램으로 구현한 기계 Java 바이트 코드를 이해하고 수행해 주는 인터프리터 프로그램 Java 컴파일러 사람 JVM Java 소스코드 Java 바이트코드 작성 실행

Java 플랫폼 Java 플랫폼이란? Java 가상 기계와 클래스 라이브러리 Java SE, Java EE, Java ME 등이 있음

Java 플랫폼 : JVM + API 장점 : 하드웨어 플랫폼 독립성 단점 : 실행 속도의 저하 자바 프로그램 API 자바 자바 가상 기계 API 자바 프로그램 하드웨어 기반 플랫폼 자바 플랫폼

Java SE(Standard Edition) 데스크탑용 프로그램에 사용 개발 : JDK, 이클립스, 넷빈즈 등 실행 : JRE(Java Runtime Environment) 설치 필요 주요 응용 분야 콘솔 프로그램 문자기반의 콘솔을 통해 입출력 수행 그래픽 프로그램 그래픽 사용자 인터페이스(GUI : Graphic User Interface)를 통해 입출력 수행 애플릿 웹브라우저에서 실행되는 간단한 자바 프로그램

Java EE(Enterprise Edition) 기업용 프로그램 작성을 위한 분산 객체, 트랜잭션, 높은 이식성 제공 개발 : 별도의 Java EE SDK 사용 실행: 여러 종류의 애플리케이션의 조합으로 동작 Java ME(Micro Edition) 내장형기기(embedded device)를 위한 자바 플랫폼 휴대폰, PDA, 셋탑박스 등 성능이 낮고, 메모리가 작은 기기 다양한 CPU와 운영체제가 사용되어 플랫폼 독립성이 중요

Java 기본 패키지 java.lang java.io java.util 자바의 기능을 확장해 주는 기본적인 클래스 : Object, String 등 자바 컴파일러에 의해 자동으로 import java.io 스트림 입출력, 파일 입출력에 관련된 클래스 제공 java.net 패키지는 소켓, 텔넷 인터페이스, URL 클래스 제공 java.util 프로그래머에게 유용한 벡터, 스택 , 해쉬테이블 등… java.awt (Abstract Window Toolkit) 플랫폼 독립적인 GUI 개발 도구 java.swing은 자바로 구현되어 어느 시스템에서도 동일하게 보임

Java 개발환경 Java 개발환경이란? 두 가지 형태의 개발 환경 컴파일러, 문서 생성기, 디버거 등 개발에 필요한 제반 프로그램 주로 사용할 도구는 java(Java 가상기계)와 javac(Java 컴파일러)임 두 가지 형태의 개발 환경 IDE 환경: 여러 도구가 하나의 윈도우 인터페이스 형태로 제공됨 Integrated Development Environment; IDE 프로그래밍 환경과 운영 환경이 결합 프로그램의 작성부터 실행까지 대화식으로 수행가능한 개발환경 이클립스, 넷빈즈 명령줄 환경: 필요한 도구를 일일이 명령어로 호출하여 사용함

Java 프로그램 사용 형태 자바 응용 프로그램 : 일반적인 응용 프로그램 자바 애플릿 : 웹 검색기 상에서 작동하는 프로그램 자바 서블릿 : 웹 환경에서 실행되는 자바 프로그램 JSP(Java Server Page) : 서블릿과 비슷하나 HTML 속에 자바 코드를 삽입하여 사용 자바 빈스(Beans) : 자바로 작성된 프로그램(컴포넌트)을 부품처럼 사용하여 프로그래밍 하는 방법

JDK 설치 JDK란? JDK 다운로드 및 설치 환경변수 설정 Java Development Kit의 약자 다운로드 사이트: http://www.oracle.com/technetwork/java/ Java SE를 다운로드하여 설치함 환경변수 설정 JAVA_HOME: C:\Program Files\Java\jdk1.6.0_10 PATH: C:\Program Files\Java\jdk1.6.0_10\bin;...

환경변수 설정 윈도우즈의 경로에 자바 도구가 설치된 경로를 추가 [내 컴퓨터] – [속성] – [고급] - [환경 변수]

환경변수 설정 변수 이름 : “Path” 변수 값 : JDK를 설치한 경로와 \bin

javac java jar 자바 소스 파일을 자바 클래스 파일로 컴파일해 주는 도구 형식 : javac [Options] SourceFileName.java 예 : javac HelloWorld.java java 클래스 파일을 읽어 실행하는 자바 가상기계, 인터프리터 형식 : java [options] ClassName [command-line arguments] 예 : java HelloWorld jar 자바 프로그램을 압축하는 유틸리티, JAR 파일을 관리하는 도구

javadoc 자바 소스 파일에 있는 문서 주석(Document comment)으로부터 HTML 문서로 구성된 자바 API 문서를 생성하는 도구 jdb 자바 애플리케이션을 디버그하기 위해서 사용하는 도구 javah 자바 네이티브 인터페이스(JNI; Java Native Interface)에 필요한 C/C++ 헤더 파일(Header File)을 생성해 주는 도구

Eclipse 설치 Eclipse 다운로드 및 설치 Eclipse의 특징 다운로드 사이트: http://www.eclipse.org/ 설치할 때 워크스페이스를 설정함 워크스페이스는 Eclipse와 관련된 프로젝트가 저장되는 공간임 Eclipse의 특징 여러 프로그래밍 언어를 지원함 각 언어별 설정을 퍼스펙티브(perspective)라고 함 Java 퍼스펙티브가 기본으로 설정되어 있음

Eclipse 설치 Eclipse는 자바 프로그램을 개발하기 위한 통합 개발 환경(Integrated Development Environment) Step 1 : 이클립스 홈페이지(www.eclipse.org) 방문

Eclipse 설치 Step 1 : 세번째에 있는 “Eclipse Classic 3.6.1” 오른쪽은 “Windows 32 Bit”를 선택

Eclipse 설치 Step 1 : 화면에서 “[Korea, Republic Of] Daum Communications (http)”을 선택하여 파일을 다운

Eclipse 설치 Step 1 : 다운받은 소프트웨어를 더블 클릭하여 적당한 위치에 압축을 풀면 설치가 끝난다

Eclipse 설치 Step 2 : 다운받은 소프트웨어를 실행(eclipse 실행파일을 실행)

Eclipse 기본 구조와 사용 방법 이클립스의 기본 구조

Eclipse 기본 구조 뷰 : 이클립스에서 가장 기본이 되는 요소이다. 메뉴의 [Window] → [Show View] 메뉴에서 모든 뷰를 선택 사용자는 뷰를 마우스로 드래그하여 적당한 위치에 배치하거나, 메뉴를 사용하여 화면에 나타낼 수 있다.

Eclipse 기본 구조와 사용 방법 eclipse의 주요 뷰

Eclipse를 이용한 프로그램 작성 순서 Step 1 : Eclipse를 실행 작업할 디렉터리를 지정

Eclipse를 이용한 프로그램 작성 순서 Step 2 : 프로젝트 선정 프로젝트를 지정

Eclipse를 이용한 프로그램 작성 순서 Step 2 : 왼쪽의 Package Explorer 뷰에 패키지가 나타난다

Eclipse를 이용한 프로그램 작성 순서 Step 3 : 클래스 작성(메뉴에서 [File] → [New] → [Class]를 선택)

Eclipse를 이용한 프로그램 작성 순서 Step 4 : 편집기 창에서 프로그램 입력

Eclipse를 이용한 프로그램 작성 순서 Step 5 : 프로그램 실행 매개변수가 없는 경우 : [Run] → [Run]을 이용 매개변수가 있는 경우에는 [Run] → [Run Configurations..]을 이용

Eclipse를 이용한 프로그램 작성 순서 Step 6 : 프로그램의 실행결과가 Console 뷰에 나타남

NetBeans IDE 설치 NetBeans IDE 다운로드 및 설치 NetBeans IDE의 특징 다운로드 사이트: http://netbeans.org/ Java SE 지원 버전을 선택하여 설치함 NetBeans IDE의 특징 Eclipse와 마찬가지로 여러 언어를 지원함 PHP, Ruby, JavaScript 등 웹 개발 언어도 지원함 버전 관리 도구와 연동되며 협업 환경을 지원함

DrJava 설치 DrJava 다운로드 및 설치 DrJava의 특징 다운로드 사이트: http://www.drjava.org/ 다운로드한 파일을 그냥 실행하면 됨 DrJava의 특징 프로젝트를 생성하지 않아도 프로그램을 컴파일하고 실행시켜 볼 수 있음 Interactions 탭을 이용하여 Java 문장을 수행시켜 볼 수 있음

Java 프로그램 작성, 번역, 실행

Eclipse로 프로그램 작성하기 Eclipse로 프로그램을 작성하는 순서 예제 프로그램 프로젝트 만들기: File  New  Java Project 프로젝트에 클래스 추가: File  New  Class 프로그램 입력: 아래 예 참고 프로그램 실행: Run  Run 예제 프로그램 public class Hello { public static void main(String args[]) { System.out.println("Hello"); }

Hello.java 자세히 보기

몇 가지 규칙 이름 규칙 main 규칙 리턴타입과 리턴 값 파일 이름과 클래스 이름이 같아야 함 Hello 클래스는 Hello.java 파일에 존재해야 함 main 규칙 main 메소드는 public 클래스에 선언되어야 함 main의 인수는 항상 String[] args, 리턴타입은 항상 void임 리턴타입과 리턴 값 메소드의 리턴 값은 리턴타입과 일치해야 함 리턴타입이 void라면 리턴 값이 없다는 뜻임

프로그래밍 오류 프로그래밍 오류란? 프로그래밍 오류의 종류 프로그램이 원하는 상태로 실행되지 않는 원인 구문오류: 프로그램을 더 이상 컴파일할 수 없는 오류 실행시간 오류: 프로그램 실행을 더 이상 진행할 수 없는 오류 논리 오류: 프로그램이 실행되어 결과가 나오지만 예상하는 결과와 다른 값이 나오는 경우

javadoc 사용하기 javadoc이란? 주의 Java 프로그램의 주석을 이용하여 문서를 생성해 주는 도구 주석 중에서 /** … */ 형태의 주석을 처리함 사용법: Project  Generate Javadoc… 주의 폴더에 공백이 있으면 문서 생성 위치가 예상과 다를 수 있음