Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java IT응용시스템공학과 김형진 교수 1장. 컴퓨터와 프로그램 그리고 자바 public class SumTest {

Similar presentations


Presentation on theme: "Java IT응용시스템공학과 김형진 교수 1장. 컴퓨터와 프로그램 그리고 자바 public class SumTest {"— Presentation transcript:

1 Java IT응용시스템공학과 김형진 교수 1장. 컴퓨터와 프로그램 그리고 자바 public class SumTest {
public static void main(String a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두 수를 더하는 부분입니다 System.out.println("두수의 합은 " + sum + "입니다"); } IT응용시스템공학과 김형진 교수

2 학습목표 컴퓨터가 실행하는 것은 무엇인가? 에 대해 알아본다. 컴퓨터와 사람의 상호작용 방법에 대해 알아본다.
프로그래밍 언어가 무엇이며, 어떤 종류들이 있는가 알아본다. 기계어만 이해할 수 있는 컴퓨터가 프로그래밍 언어를 어떻게 이해하는지 알아본다. 자바언어의 개요와 자바언어의 특징에 대해 알아본다.

3 목차 section 1 컴퓨터는 무엇을 실행하는가? section 2 프로그램은 어떻게 만들어지는가?
1-1   컴퓨터가 실행하는 것  section 2 프로그램은 어떻게 만들어지는가? 2-1   컴퓨터와 사람의 상호작용  2-2   프로그래밍 언어  section 3 프로그램은 컴퓨터에서 어떻게 실행되는가? 3-1   컴파일(compile) 기법  3-2   인터프리트(interprete) 기법  3-3   하이브리드(hybrid) 기법  section 4 프로그래밍 언어 Java 4-1   자바란?  4-2   자바 언어의 특징 

4 1-1 컴퓨터가 실행하는 것 컴퓨터를 통해 쇼핑을 한다. 컴퓨터를 통해 친구와 대화를 한다. 1 컴퓨터는 무엇을 실행하는가?
사용자는 쇼핑을 하기 위해 자신의 컴퓨터에 설치된 검색기 프로그램을 실행 검색기의 주소창에는 자신이 쇼핑을 원하는 쇼핑몰의 주소를 입력 쇼핑을 한다는 의미 : 사용자 컴퓨터에 몇 가지의 소프트웨어(프로그램)를 실행시킨 것 컴퓨터를 통해 친구와 대화를 한다. 자신의 컴퓨터에 대화를 위한 소프트웨어를 설치 대화를 원하는 친구를 등록 친구와 대화를 한다는 의미 : 사용자가 컴퓨터에 대화전용 소프트웨어(프로그램)를 실행시킨 것

5 1-1 컴퓨터가 실행하는 것 컴퓨터를 통해 보고서를 작성한다.
1 컴퓨터는 무엇을 실행하는가? 1-1 컴퓨터가 실행하는 것 컴퓨터를 통해 보고서를 작성한다. 컴퓨터에 설치된 문서편집기(한글 또는 MS워드 등)를 실행 편집기의 데이터 창에 자신의 문서를 입력하여 편집 보고서를 작성한다는 의미 : 사용자가 컴퓨터에 설치된 문서편집기 소프트웨어(프로그램)를 실행시킨 것 우리는 컴퓨터를 통해 다양한 일들을 하고 있지만, 공통적인 것은 컴퓨터가 소프트웨어(프로그램)를 실행한다는 것

6 1 컴퓨터는 무엇을 실행하는가? 1-1 컴퓨터가 실행하는 것 컴퓨터의 사용 (6p.)

7 2 프로그램은 어떻게 만들어지는가? 2-1 컴퓨터와 사람의 상호작용 사람과 컴퓨터의 상호작용 (7p.)

8 2-1 컴퓨터와 사람의 상호작용 사람의 언어를 컴퓨터가 인지 컴퓨터 언어를 사람이 사용
2 프로그램은 어떻게 만들어지는가? 2-1 컴퓨터와 사람의 상호작용 사람의 언어를 컴퓨터가 인지 많은 과학자들에 의해 사람들이 사용하는 자연어(Natural Language)를 컴퓨터가 인식하기 위한 노력이 인공지능(Artificial Intelligence) 분야에서 이루어졌음 컴퓨터 언어를 사람이 사용 컴퓨터 언어인 2진법만을 사용해서 컴퓨터를 사용한다는 것은 사람에게는 너무나도 힘들고 어려운 일임 사람과 컴퓨터의 공동언어 사용(프로그래밍 언어) 컴퓨터와 사람이 상호작용을 하기 위해서는 반드시 프로그래밍 언어를 사용해야 함

9 2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 프로그래밍 언어의 발전 단계에 따른 세대별 구분 (9p.)

10 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) TESTS BEGIN LOOP
2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 어셈블리 프로그램 (10p.) TESTS BEGIN LOOP BASE TART BALR USING SR L AR BCT BR LTORG EQU END BASE,0 BEGIN+2,BASE 4,4 2,=F'1' 3,=F'100' 4,3 3,2 3,*-4 14 15

11 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 100 200 ISUM=0
2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 포트란 프로그램 100 200 ISUM=0 DO 100 I=1,100,1 ISUM=ISUM+I CONTINUE WRITE (6,200) ISUM FORMAT(8X,I5) STOP END

12 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) IDENTIFICATION
2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 코볼 프로그램 IDENTIFICATION PROGRAM-ID. ENVIRONMENT CONFIGURATION SECTION. SOURCE-COMPUTER. OBJECT-COMPUTER. INPUT-OUTPUT FILE-CONTROL. DATA FILE FD PR-F LABEL 01 PR-R PIC WORKING-STORAGE 01 LIST. 03 N PIC 9(3). 03 HAP PIC 9(4). DIVISION. HAP. IBM-PC. SECTION. SELECT PR-F ASSIGN TO OUTPUT ":HAP". RECORD OMITTED. X(80).

13 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) PROCEDURE AA. BB.
2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 코볼 프로그램(계속) PROCEDURE AA. BB. DIVISION. PERFORM BB UNTIL N = 100. DISPLAY"***1부터100까지의합***" DISPLAY "HAP = " HAP. STOP RUN. ADD 1 TO N ADD N TO HAP.

14 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 10 SUM = 0
2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 베이직 프로그램 (11p.) 10 SUM = 0 20 FOR I=1 TO 100 30 SUM = SUM + I 40 NEXT I 50 PRINT SUM 60 END

15 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) program hap; uses
2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 파스칼 프로그램 (11p.) program hap; uses Crt; var i,sum:integer; begin clrscr; i:=0; sum:=0; for i:=0 to 100 do sum := sum + i; writeln('1부터 100까지의 합은 ===> ',sum); end.

16 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램)
2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) C 프로그램 (12p.) #include <stdio.h> #include <conio.h> main() { int i, sum; clrscr(); i=0; sum=0; for (i=0; i<=100; i++) sum = sum + i; printf("1부터 100까지의 합은 ===> %d\n",sum); }

17 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램)
2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) Java 프로그램 (12p.) public class SumTest { public static void main(String[] args) { int i, sum=0; for ( i = 1 ; i <= 100 ; i = i + 1 ) { sum = sum + i; } System.out.println("1부터 100까지의 합은 “ +sum);

18 3 프로그램은 컴퓨터에서 어떻게 실행되는가? 3-1 컴파일(compile) 기법 프로그램이 컴파일러(compiler)에 의해 0과 1로 구성된 이진 파일(0과 1로 구성된 파일)로 번역된 다음, 번역된 파일이 컴퓨터에서 실행되는 기법 (14p.)

19 3-2 인터프리트(interprete) 기법
3 프로그램은 컴퓨터에서 어떻게 실행되는가? 3-2 인터프리트(interprete) 기법 인터프리트(해석) 기법은 인터프리터(interpreter)에 프로그램을 실행시키는 방법 -

20 3-3 하이브리드(hybrid) 기법 컴파일 기법과 인터프리트 기법을 모두 사용하는 방식 (15p.)
3 프로그램은 컴퓨터에서 어떻게 실행되는가? 3-3 하이브리드(hybrid) 기법 컴파일 기법과 인터프리트 기법을 모두 사용하는 방식 (15p.)

21 4-1 자바란? 자바 언어 : 오크(Oak)라는 언어로부터 탄생
4 프로그래밍 언어 Java 4-1 자바란? 자바 언어 : 오크(Oak)라는 언어로부터 탄생 오크 언어 : 1991년 미국 선(Sun) 마이크로시스템사의 컴퓨터 과학자인 제임스 고슬링(James Gosling)에 의해 개발된 언어 가전제품의 기능을 프로그램으로 제공하기 위해 개발 제임스 고슬링은 앞으로 많은 가전제품(전화, TV, 비디오, 컴퓨터 등)들이 하나의 거대한 네트워크에 연동될 것으로 예측하였고, 또한 제품들의 기능을 제공하는 내장된 프로그램(embedded program)들이 부품(component)처럼 사용될 것이라고 예측 많은 가전사들의 무관심과 현실성에 대한 문제 때문에 별로 관심을 끌지 못함

22 4-1 자바란? 자바 언어 4 프로그래밍 언어 Java 오크 언어의 많은 개념들을 그대로 이어받았음
C/C++에서 어렵게 사용되는 포인터나 메모리 조작 등의 개념을 과감하게 제거하거나 개선 신뢰성을 증대시키기 위해 예외 처리(exception-handling) 기능을 효율적으로 제공하여 예상치 못한 오류 등을 처리하는 방법을 제공 1995년 JAVA 베타 2 버전이 탄생 1996년 JAVA 1.0이 공식 발표 1994년 고슬링(Gosling)은 Oak를 JAVA(커피의 속어)로 다시 명명하고 당시 인터넷에서 급격히 성장한 WWW에 자바를 적용 결정 Hot Java 검색기 개발. 넷스케이프, 익스플로러 자바 지원

23 4-1 자바란? 자바 개발자 제임스 고슬링(James Gosling)과 자바 엠블렘 (18p.)
4 프로그래밍 언어 Java 4-1 자바란? 자바 개발자 제임스 고슬링(James Gosling)과 자바 엠블렘 (18p.) 자바는 네트웍(인터넷) 환경의 전용 언어이다 ---- ( X ) 자바는 강력한 범용언어(General Purpose Language)이면서 네트웍 환경에 강한 특징을 가지고 있다 ---( O )

24 4-2 자바 언어의 특징 객체지향언어(Object Oriented Language) 4 프로그래밍 언어 Java
자바는 완전한 객체지향 언어 객체지향의 특성인 클래스, 상속, 캡슐화, 다형성 등의 개념이 잘 적용된 언어 객체지향 프로그래밍은 우리가 살아가는 실세계와 동일한 사고방식의 프로그램 자바 언어는 가장 쉽게 이해할 수 있으며, 빨리 배울 수 있는 프로그래밍 언어

25 4 프로그래밍 언어 Java 4-2 자바 언어의 특징 실세계 객체 지향의 예 (19p.)

26 4 프로그래밍 언어 Java 4-2 자바 언어의 특징 자바의 객체 지향의 예 (19p.)

27 4-2 자바 언어의 특징 소프트웨어와 운영체제 (20p.) 4 프로그래밍 언어 Java
컴퓨터의 운영체제 : 하드웨어를 관리하는 시스템 소프트웨어 일반적으로 컴퓨터에서 실행되는 소프트웨어 : 운영체제에 종속적 윈도 시스템에서 C 언어로 개발된 소프트웨어는 윈도 시스템에서만 실행

28 4-2 자바 언어의 특징 운영체제에 독립적 (21p.) 4 프로그래밍 언어 Java
자바 프로그램 : JVM(Java Virtual Machine : 자바가상머신)이 구축된 컴퓨터에서는 어디에서든지 실행시킬 수 있음

29 인터프리터(Interpreted)에 의해 실행
4 프로그래밍 언어 Java 4-2 자바 언어의 특징 인터프리터(Interpreted)에 의해 실행 자바는 독특한 실행 방식을 취하고 있다. 자바 소스는 자바 가상 기계에서 실행될 수 있는 바이트 코드로 번역되며, 번역된 바이트 코드는 바이트 코드 해석기가 있는 어떠한 기종의 컴퓨터 환경에서도 실행될 수 있다. 인터프리터 Java program MyProgram.class MyProgram.java 컴파일러 My Program

30 4-2 자바 언어의 특징 자바는 네트웍을 통하여 자바 가상 기계가 설치된 어떤 컴퓨터에서도 실행 가능 클라이언트(자바가상기계)
4 프로그래밍 언어 Java 4-2 자바 언어의 특징 클라이언트(자바가상기계) 서버 실행결과 바이트 코드 *.class 소스코드 *.java 인터넷 자바는 네트웍을 통하여 자바 가상 기계가 설치된 어떤 컴퓨터에서도 실행 가능 실행결과

31 4-2 자바 언어의 특징 안전(Secure)하다 개발환경 실행환경 JVM
4 프로그래밍 언어 Java 4-2 자바 언어의 특징 안전(Secure)하다 자바는 분산 환경에서 실행될 수 있도록 개발환경과 실행환경이 분리되어 있다. JVM은 무결성에 대한 필수적인 검사를 수행한다. 자바 소스코드 *.java 자바 컴파일러 바이트 코드 *.class 클래스 로더 바이트 코드 검증기 자바 인터프리터 실행시 서버로 부터 네트웍을 통해 전달 자바 클래스 라이브러리 개발환경 실행환경 JVM 실행결과

32 4-2 자바 언어의 특징 이식성이 좋다. 컴파일러 바이트 코드 자바 프로그램
4 프로그래밍 언어 Java 4-2 자바 언어의 특징 이식성이 좋다. 컴파일러 바이트 코드 자바 프로그램 인터프리터 Sun Ultra Solaris Mac 시스템 PC 호환 System Windows NT

33 객체지향(Object-Oriented)
4 프로그래밍 언어 Java 4-2 자바 언어의 특징 단순(simple) 자바는 C++ 언어를 기반으로 탄생하였지만, C나 C++에서 프로그래머에게 많은 혼란을 주는 요소들을 제거 객체지향(Object-Oriented) 자바는 객체지향 언어이다. 자바 프로그램의 모든 요소들은 객체로 표현된다. 객체지향은 소프트웨어의 재사용과 정보의 캡슐화 같은 많은 장점을 제공한다. 객체지향은 우리의 실세계와 유사한 프로그램 방식이다. 분산(Distributed) 환경에 적합 자바는 인터넷 또는 네트웍을 통하여 효율적으로 수행될 수 있도록 설계되었다. http, ftp, tcp/ip 프로토콜 등과 연관된 라이브러리를 제공한다. 또한 자바는 다른 컴퓨터에 있는 원격 객체들을 호출할 수 있는 RMI 기능을 제공한다.

34 4-2 자바 언어의 특징 개발 환경 4 프로그래밍 언어 Java 자바의 모든 개발 환경 : 개방된 형태를 취하고 있음
자바를 개발한 선사는 현재까지도 자바의 모든 개발 환경을 무료로 제공 지속적으로 최신 버전을 제공 현재 선사는 3종류의 개발 환경을 제공

35 4 프로그래밍 언어 Java 4-2 자바 언어의 특징 선사에서 제공하는 플랫폼의 종류 (21p.)

36 수고하셨습니다.


Download ppt "Java IT응용시스템공학과 김형진 교수 1장. 컴퓨터와 프로그램 그리고 자바 public class SumTest {"

Similar presentations


Ads by Google