알기 쉽게 해설한 Java 8th edition 1
책의 구성 : 5개의 부와 19장으로 구성 1부 개요 2부 기본구조 3부 객체 지향 4부 클래스 라이브러리 1부 개요 1장 : 컴퓨터와 프로그램 그리고 자바 2장 : 자바의 환경 구축과 실습 2부 기본구조 3장 : 변수, 자료형, 연산자 4장 : 선택문 5장 : 반복문 6장 : 배열 3부 객체 지향 7장 : 객체 지향 개념 8장 : 클래스-속성 9장 : 클래스-기능 10장 : 상속 11장 : 다형성과 추상클래스, 인터페이스 4부 클래스 라이브러리 12장 : 패키지와 java.lang 패키지 13장 : 예외처리와 입출력 14장 : 유틸리티 패키지와 제네릭 15장 : 컬렉션 프레임워크 16장 : 다중 스레드 17장 : 네트워크 5부 사용자 인터페이스 18장 : 자바 GUI와 이벤트 처리 19장 : 스윙과 이벤트 처리
1부 개요 1부에서는 컴퓨터와 프로그램의 관계, 프로그램의 작성과 실행방법, 1부 개요 1부에서는 컴퓨터와 프로그램의 관계, 프로그램의 작성과 실행방법, 자바 프로그램 작성을 위한 환경 구축과 실습 방법 등에 대해 설명합니다. Chapter 1 : 컴퓨터와 프로그램 그리고 자바 Chapter 2 : 자바의 환경 구축과 실습 3
1장 컴퓨터와 프로그램 그리고 자바 Section 1 컴퓨터는 무엇을 실행하는가? Section 4 프로그래밍 언어 Java 4
학습목표 우리가 컴퓨터를 통해서 할 수 있는 것이 무엇인지 알아봅니다. 컴퓨터에서 실행되는 프로그램은 어떻게 만들어지는가를 알아봅니다. 우리가 만든 프로그램이 컴퓨터에서 어떻게 실행되는지 알아봅니다. 자바 언어는 어떻게 탄생하였고, 어떤 환경을 가지고 있는지 알아봅니다. 현재 많은 프로그래밍 언어들의 사용 분포에 대해서 학습합니다. 자바 언어의 특징에 관해 학습합니다.
1-1 컴퓨터가 실행하는 것 컴퓨터를 통해 쇼핑을 한다. 컴퓨터를 통해 친구와 대화를 한다. 1 컴퓨터는 무엇을 실행하는가? 1-1 컴퓨터가 실행하는 것 컴퓨터를 통해 쇼핑을 한다. 사용자는 쇼핑을 하기 위해 자신의 컴퓨터에 설치된 검색기 프로그램을 실행 검색기의 주소 창에는 자신이 쇼핑을 원하는 쇼핑몰의 주소를 입력 쇼핑을 한다는 의미 : 사용자 컴퓨터에 몇 가지의 소프트웨어(프로그램)를 실행시킨 것 컴퓨터를 통해 친구와 대화를 한다. 자신의 컴퓨터에 대화를 위한 소프트웨어를 설치 대화를 원하는 친구를 등록 친구와 대화를 한다는 의미 : 사용자가 컴퓨터에 대화전용 소프트웨어(프로그램)를 실행시킨 것
1-1 컴퓨터가 실행하는 것 컴퓨터를 통해 보고서를 작성한다. 우리는 컴퓨터를 통해 다양한 일들을 하고 있지만, 1 컴퓨터는 무엇을 실행하는가? 1-1 컴퓨터가 실행하는 것 컴퓨터를 통해 보고서를 작성한다. 컴퓨터에 설치된 문서편집기(한글 또는 MS워드 등)를 실행 편집기의 데이터 창에 자신의 문서를 입력하여 편집 보고서를 작성한다는 의미 : 사용자가 컴퓨터에 설치된 문서편집기 소프트웨어(프로그램)를 실행시킨 것 우리는 컴퓨터를 통해 다양한 일들을 하고 있지만, 공통적인 것은 컴퓨터가 소프트웨어(프로그램)를 실행한다는 것
2 프로그램은 어떻게 만들어지는가? 2-1 컴퓨터와 사람의 상호작용 사람과 컴퓨터의 상호작용
2-1 컴퓨터와 사람의 상호작용 사람의 언어를 컴퓨터가 인지 컴퓨터 언어를 사람이 사용 2 프로그램은 어떻게 만들어지는가? 2-1 컴퓨터와 사람의 상호작용 사람의 언어를 컴퓨터가 인지 많은 과학자들에 의해 사람들이 사용하는 자연어(Natural Language)를 컴퓨터가 인식하기 위한 노력이 인공지능(Artificial Intelligence) 분야에서 이루어졌음 컴퓨터 언어를 사람이 사용 컴퓨터 언어인 2진법만을 사용해서 컴퓨터를 사용한다는 것은 사람에게는 너무나도 힘들고 어려운 일임 사람과 컴퓨터의 공동언어 사용(프로그래밍 언어) 컴퓨터와 사람이 상호작용을 하기 위해서는 반드시 프로그래밍 언어를 사용해야 함
2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 프로그래밍 언어의 발전 단계에 따른 세대별 구분
2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) TESTS BEGIN LOOP 2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 어셈블리 프로그램 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
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
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).
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.
2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 10 SUM = 0 2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 베이직 프로그램 10 SUM = 0 20 FOR I=1 TO 100 30 SUM = SUM + I 40 NEXT I 50 PRINT SUM 60 END
2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) program hap; uses 2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 파스칼 프로그램 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.
2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) C 프로그램 #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); }
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);
앞에서 살펴본 8가지 종류의 언어에서 느낄 수 있는 점은 몇 종류의 언어(어셈블리, 코볼)를 제외하고는 대부분 구조가 유사 2 프로그램은 어떻게 만들어지는가? 2-2 프로그래밍 언어 주요 언어로 작성된 프로그램(1부터 100까지의 합을 구하는 프로그램) 파이선 프로그램 (13p.) 앞에서 살펴본 8가지 종류의 언어에서 느낄 수 있는 점은 몇 종류의 언어(어셈블리, 코볼)를 제외하고는 대부분 구조가 유사 sum=0 for i in range(1,101) : sum = sum + i print(sum)
3 프로그램은 컴퓨터에서 어떻게 실행되는가? 3-1 컴파일(compile) 기법 프로그램이 컴파일러(compiler)에 의해 0과 1로 구성된 이진 파일(0과 1로 구성된 파일)로 번역된 다음, 번역된 파일이 컴퓨터에서 실행되는 기법
3-2 인터프리트(interprete) 기법 3 프로그램은 컴퓨터에서 어떻게 실행되는가? 3-2 인터프리트(interprete) 기법 인터프리트(해석) 기법은 인터프리터(interpreter)에 프로그램을 실행시키는 방법
3-3 하이브리드(hybrid) 기법 컴파일 기법과 인터프리트 기법을 모두 사용하는 방식 3 프로그램은 컴퓨터에서 어떻게 실행되는가? 3-3 하이브리드(hybrid) 기법 컴파일 기법과 인터프리트 기법을 모두 사용하는 방식
정리 컴퓨터는 무엇을 실행하는가? 소프트웨어 즉 프로그램은 어떻게 만드는가? 컴퓨터는 소프트웨어를 실행합니다. 소프트웨어 즉 프로그램은 어떻게 만드는가? 개발자가 프로그래밍 언어를 학습하여 하고자 하는 일을 프로그램으로 기술하여 만들 수 있습니다. 개발자에 의해 만들어진 프로그램을 컴퓨터가 어떻게 수행하는가? 컴퓨터는 번역기나 인터프리터를 사용하여 사용자가 작성한 프로그램을 컴퓨터가 인지할 수 있는 이진 파일로 변환하여 실행할 수 있습니다.
4-1 자바의 개요 자바 언어 : 오크(Oak)라는 언어로부터 탄생 4 프로그래밍 언어 Java 4-1 자바의 개요 자바 언어 : 오크(Oak)라는 언어로부터 탄생 오크 언어 : 1991년 미국 선(Sun) 마이크로시스템사의 컴퓨터 과학자인 제임스 고슬링(James Gosling)에 의해 개발된 언어 가전제품의 기능을 프로그램으로 제공하기 위해 개발 제임스 고슬링은 앞으로 많은 가전제품(전화, TV, 비디오, 컴퓨터 등)들이 하나의 거대한 네트워크에 연동될 것으로 예측하였고, 또한 제품들의 기능을 제공하는 내장된 프로그램(embedded program)들이 부품(component)처럼 사용될 것이라고 예측 많은 가전사들의 무관심과 현실성에 대한 문제 때문에 별로 관심을 끌지 못함
4-1 자바란? 자바 언어 오크 언어의 많은 개념들을 그대로 이어받았음 4 프로그래밍 언어 Java 4-1 자바란? 자바 언어 오크 언어의 많은 개념들을 그대로 이어받았음 C/C++에서 어렵게 사용되는 포인터나 메모리 조작 등의 개념을 과감하게 제거하거나 개선 신뢰성을 증대시키기 위해 예외 처리(exception-handling) 기능을 효율적으로 제공하여 예상치 못한 오류 등을 처리하는 방법을 제공 1995년 JAVA 베타 2 버전이 탄생 1996년 JAVA 1.0이 공식 발표 현재 JAVA 1.2 사용
4 프로그래밍 언어 Java 4-1 자바란? 자바 개발자 제임스 고슬링(James Gosling)과 자바 엠블렘
4-1 자바란? 자바의 사용 : 3가지 종류의 플랫폼 제공 4 프로그래밍 언어 Java 4-1 자바란? 자바의 사용 : 3가지 종류의 플랫폼 제공 Java 2 ME(Mobile Edition) : PDA나 스마트폰 등 소형 기기를 위한 개발 환경 Java 2 SE(Standard Edition) : 클라이언트 중심의 일반적인 자바 응용 프로그램 개발 환경 Java 2 EE(Enterprise Edition) : 서버 중심의 기업용 소프트웨어 개발 환경
4 프로그래밍 언어 Java 4-1 자바란? 2000년대 들어 현재까지 가장 많이 사용되는 프로그래밍 언어
4 프로그래밍 언어 Java 4-1 자바란? 2000년대 프로그래밍 언어 사용 순위의 변화
4-2 자바 언어의 특징 객체지향언어(Object Oriented Language) 자바는 완전한 객체지향 언어 4 프로그래밍 언어 Java 4-2 자바 언어의 특징 객체지향언어(Object Oriented Language) 자바는 완전한 객체지향 언어 객체지향의 특성인 클래스, 상속, 캡슐화, 다형성 등의 개념이 잘 적용된 언어 객체지향 프로그래밍은 우리가 살아가는 실 세계와 동일한 사고방식의 프로그램 자바 언어는 가장 쉽게 이해할 수 있으며, 빨리 배울 수 있는 프로그래밍 언어
4 프로그래밍 언어 Java 4-2 자바 언어의 특징 객체지향 언어 : 실 세계 객체 지향의 예
4 프로그래밍 언어 Java 4-2 자바 언어의 특징 객체지향 언어 : 자바의 객체 지향의 예
4-2 자바 언어의 특징 운영 체제에 독립적 : 소프트웨어와 운영체제 4 프로그래밍 언어 Java 4-2 자바 언어의 특징 운영 체제에 독립적 : 소프트웨어와 운영체제 컴퓨터의 운영체제 : 하드웨어를 관리하는 시스템 소프트웨어 일반적으로 컴퓨터에서 실행되는 소프트웨어 : 운영체제에 종속적 윈도 시스템에서 C 언어로 개발된 소프트웨어는 윈도 시스템에서만 실행
4 프로그래밍 언어 Java 4-2 자바 언어의 특징 운영체제에 독립적 자바 프로그램 : JVM(Java Virtual Machine : 자바가상머신)이 구축된 컴퓨터에서는 어디에서든지 실행시킬 수 있음
4-2 자바 언어의 특징 무료 개발 환경 자바의 모든 개발 환경 : 개방된 형태를 취하고 있음 4 프로그래밍 언어 Java 4-2 자바 언어의 특징 무료 개발 환경 자바의 모든 개발 환경 : 개방된 형태를 취하고 있음 자바를 개발한 선사는 현재까지도 자바의 모든 개발 환경을 무료로 제공 지속적으로 최신 버전을 제공 현재 선사는 3종류의 개발 환경을 제공
4 프로그래밍 언어 Java 4-2 자바 언어의 특징 무료 개발 환경 : 선사에서 제공하는 플랫폼의 종류
4 프로그래밍 언어 Java 4-2 자바 언어의 특징 무수한 라이브러리 : 대규모의 라이브러리 클래스 제공
4-3 자바의 버전 자바는 1996년 JDKJava Development Kit 1.0을 시작
학습정리 컴퓨터가 실행하는 것 소프트웨어(프로그램)는 어떻게 만드나 프로그램 실행 방법 ① 우리가 컴퓨터를 통해서 쇼핑을 하고, 친구와 대화를 하고, 레포트를 작성한다는 의미는 컴퓨터가 관련 소프트웨어를 실행한다는 의미입니다. ② 컴퓨터가 실행하는 것은 소프트웨어입니다. 소프트웨어(프로그램)는 어떻게 만드나 ① 컴퓨터와 사람의 상호 작용을 위해 프로그래밍 언어가 개발되었습니다. ② 현재까지 개발된 많은 프로그래밍 언어가 있지만, 소프트웨어 개발에 가장 많이 사용되는 언어는 자바 언어입니다. 프로그램 실행 방법 ① 프로그램 실행 방법은 컴파일 기법과 인터프리트 기법, 하이브리드 기법으로 구분될 수 있습니다. ② 자바 언어는 하이브리드 기법을 사용하는 언어로서 컴파일 기법과 인터프리트 기법의 장점을 모두 갖추고 있습니다.
학습정리 자바 언어는? ① 1990년대에 선사에 의해 개발된 자바는 지속적인 발전을 거듭하고 있습니다. 현재 자바는 3가지 환경의 개발 환경을 무료로 제공하고 있습니다. ② 현재를 기준으로 가장 많이 사용되고 있는 언어는 자바입니다. 자바 언어의 특징 ① 자바는 객체 지향 언어이고 객체 지향 언어는 우리의 실세계와 같은 방법으로 작동합니다. ② 자바는 한번 작성되면 어디서든 실행될 수 있는 환경을 갖추고 있습니다(Write once, run anywhere). ③ 자바의 개발 환경은 무료로 제공되고 있습니다. ④ 자바는 많은 라이브러리 클래스를 제공하고 있습니다. 사용자는 프로그램의 많은 부분들을 라이브러리 클래스를 이용하여 작성합니다.
학습정리 자바란? 자바는 객체지향 언어이고 객체지향 언어는 우리의 실세계와 같은 방법으로 작동한다. 자바는 한번 작성되면 어디서든 실행될 수 있는 환경을 갖추고 있다(Write once, run anywhere). 자바의 개발 환경은 무료로 제공되고 있다. 자바는 초기의 1.0 버전부터 현재의 8까지 지속적으로 새로운 버전이 출시되고 있다.
수고하셨습니다. 제출 연습 문제를 잘 풀어서 제출해주시기 바랍니다 (다음 주 제출 문제 발표는?) 수고하셨습니다. 제출 연습 문제를 잘 풀어서 제출해주시기 바랍니다 (다음 주 제출 문제 발표는?) 42