Transcript Document

제1장
서론
주요 강의 내용
• 객체-지향 소프트웨어 개발
 문제 해결(problem solving)
 프로그램 설계, 구현, 테스트
 객체-지향 개념
•
•
•
•
•
클래스(classes)
객체(objects)
캡슐화(encapsulation)
상속(inheritance)
다형성(polymorphism)
 그래픽 사용자 인터페이스(graphical user interfaces)
 Java 프로그래밍 언어
© 2004 Pearson Addison-Wesley. All rights reserved
1-2
서론
• 컴퓨터 처리의 기초
• 1장 내용:
 컴퓨터 구성 요소
 구성요소 상호 작용
 컴퓨터의 정보 저장 및 조작 방법
 컴퓨터 네트워크
 인터넷과 웹
 프로그래밍 과 프로그래밍 언어
 자바 소개
 객체-지향 개념 개요
© 2004 Pearson Addison-Wesley. All rights reserved
1-3
목차
컴퓨터 처리
하드웨어 구성요소
네트워크
Java 프로그래밍 언어
프로그램 개발
객체-지향 프로그래밍
© 2004 Pearson Addison-Wesley. All rights reserved
1-4
하드웨어/소프트웨어
• 하드웨어(Hardware)
 컴퓨터의 물리적인 만질 수 있는 부분
 키보드, 모니터, 디스크, 전선, 칩
• 소프트웨어(Software)
 프로그램, 데이터 및 관련 문서
 프로그램: 일련의 명령어들
(a program is a series of instructions)
• 컴퓨터는 하드웨어와 소프트웨어 모두가 필요하다.
• 하나가 없으면 무용하다.
© 2004 Pearson Addison-Wesley. All rights reserved
1-5
CPU와 주 메모리(Main Memory)
CPU(Central Processing Unit)
중앙처리장치
CPU
프로그램 명령어를
실행시키는 칩
Intel Pentium 4
Sun ultraSPARC III
사용되는 프로그램과
데이터를 위한
주 저장공간
RAM
© 2004 Pearson Addison-Wesley. All rights reserved
주 메모리
1-6
보조 메모리(Secondary Memory Devices)
보조 메모리는 장기 저장 공간
하드 디스크
플로피 디스크
ZIP 디스크
컴팩트 디스크(CD)
DVD
(Digital Video Disc)
하드 디스크
테이프
CPU
주 메모리
플로피 디스크
필요에 따라 주 메모리와
보조 메모리 사이에
정보 이동
© 2004 Pearson Addison-Wesley. All rights reserved
1-7
입력 / 출력 장치(Input/Output Devices)
I/O 장치는 사용자와
상호작용을 편리하게 해준다
모니터
CPU
키보드
모니터(Monitor)
키보드(Keyboard)
주 메모리
마우스(Mouse)
조이스틱(Joystick)
바코드 스캐너(Bar code scanner)
터치 스크린(Touch screen)
© 2004 Pearson Addison-Wesley. All rights reserved
하드 디스크
플로피 디스크
1-8
소프트웨어 종류
• 운영체제(Operating System)




모든 하드웨어 활동을 제어
컴퓨터에 대한 사용자 창구(interface) 제공
CPU, 메모리 같은 자원 관리
Windows XP, Unix, Linux, Mac OS
• 응용 프로그램(Application program)
 다른 종류의 소프트웨어를 위한 포괄적 용어
 워드 프로세서, 미사일 제어 시스템, 게임 소프트웨어
 웹 브라우저
• 그래픽 사용자 인터페이스
 GUI(Graphical user interface)
© 2004 Pearson Addison-Wesley. All rights reserved
1-9
아날로그 vs. 디지털
• 데이터를 저장하고 관리하는 두 가지 방법
• 아날로그(Analog)
 연속적인 데이터
 테이프 상의 음악 데이터
• 디지털(Digital)
 이산적인(discrete) 데이터
 CD 상의 음악 데이터
© 2004 Pearson Addison-Wesley. All rights reserved
1-10
디지털 정보
• 컴퓨터는 모든 정보를 디지털로 저장한다.






수
텍스트
그래픽 및 이미지
비디오
오디오
프로그램 명령어
© 2004 Pearson Addison-Wesley. All rights reserved
1-11
텍스트 표현
• 각 문자는 수로 표현된다.
 영문자, 숫자, 공백, 구둣점
• 대문자와 소문자는 별개의 문자
Hi, Heather.
72 105 44 32 72 101 97 116 104 101 114 46
© 2004 Pearson Addison-Wesley. All rights reserved
1-12
이진수(Binary Numbers)
• 컴퓨터에서 정보 표현 및 저장
 이진수 사용
 왜?
싸다/쉽다/신뢰성
• 비트(bit)
 0 혹은 1인 하나의 이진 숫자.
 한 비트는 두 개의 상태(0 혹은 1)를 나타낸다.
© 2004 Pearson Addison-Wesley. All rights reserved
1-13
비트 순열(Bit Permutations)
1 bit
0
1
2 bits
00
01
10
11
3 bits
000
001
010
011
100
101
110
111
4 bits
0000 1000
0001 1001
0010 1010
0011 1011
0100 1100
0101 1101
0110 1110
0111 1111
한 비트 추가마다 가능한 순열 수가 2배 증가 !
© 2004 Pearson Addison-Wesley. All rights reserved
1-14
비트 순열(Bit Permutations)
• 각 순열은 어떤 특정 아이템을 나타낼 수 있다.
• N 비트: 2N 순열
• 2N 개의 아이템을 나타내려면 N 비트가 필요
나타낼 수 있는
아이템 수
© 2004 Pearson Addison-Wesley. All rights reserved
1 비트 ?
21 = 2 아이템
2 비트 ?
2 = 4 아이템
3 비트 ?
23 = 8 아이템
4 비트 ?
24 = 16 아이템
5 비트 ?
25 = 32 아이템
2
1-15
이진수/십진수
• 십진수
 182 = 1 x 102 + 8 x 101 + 2 x 100 =
1 x 100 + 8 x 10 + 2 x 1
= 182
• 이진수  십진수
 11012
 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 =
 1 x 8 + 1 x 4 + 0 x 2 + 1 x 1 = 13
• 십진수  이진수




182
1 x 128 + 0 x 64 + 1 x 32 + 1 x 16 + 0 x 8 + 1 x 4 + 1 x 2 + 0 x 1
1 x 27 + 0 x 26 + 1 x 25 + 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 0 x 20
101101102
© 2004 Pearson Addison-Wesley. All rights reserved
1-16
Outline
컴퓨터 처리
하드웨어 구성요소
네트워크
Java 프로그래밍 언어
프로그램 개발
객체-지향 프로그래밍
© 2004 Pearson Addison-Wesley. All rights reserved
1-17
컴퓨터 사양(Specification)
• PC의 사양 예 :





2.8 GHz Pentium 4 Processor
512 MB RAM
80 GB Hard Disk
48x CD-RW / DVD-ROM Combo Drive
17” Video Display with 1280 x 1024 resolution
• 무얼 의미할까요 ?
© 2004 Pearson Addison-Wesley. All rights reserved
1-18
메모리
9278
9279
9280
9281
9282
9283
9284
9285
9286
© 2004 Pearson Addison-Wesley. All rights reserved
주 메모리는 많은 메모리
위치(셀)들로 나누어
진다.
각 메모리 셀은 고유의
주소(address)를 갖는다.
1-19
정보 저장
9278
9279
9280
9281
9282
9283
9284
9285
9286
10011010
© 2004 Pearson Addison-Wesley. All rights reserved
각 메모리 셀은 여러
비트들을 저장한다.
(보통 8 bits, 즉 1 byte)
큰 값은 연속된 메모리
위치들에 저장된다.
1-20
저장 용량
• 모든 메모리 장치는 저장할 수 있는 용량이 있다.
• 저장 용량 단위
단위
기호
바이트 수
kilobyte
KB
210 = 1024
megabyte
MB
220 (over 1 million)
gigabyte
GB
2
terabyte
TB
240 (over 1 trillion)
© 2004 Pearson Addison-Wesley. All rights reserved
30
(over 1 billion)
1-21
메모리
• 주 메모리는 휘발성(volatile)
 전원이 꺼지면 정보가 사라진다.
• 보조 메모리는 비휘발성(nonvolatile)
• 주 메모리와 디스크는 직접 접근(direct access) 장치
 정보를 직접 접근할 수 있다.
 임의 접근(random access)과 동일
 하드 디스크, CD, DVD
• 자기 테이프는 순차 접근(sequential access) 장치
 정보를 순차적으로 접근해야 한다.
© 2004 Pearson Addison-Wesley. All rights reserved
1-22
RAM vs. ROM
• RAM - 임의 접근 메모리(Random Access Memory)
 Read-Write Memory
 RAM과 주 메모리는 거의 같은 용어로 사용됨
• ROM - 판독 전용 메모리(Read-Only Memory)
 주 메모리 칩 혹은
 CD ROM
• RAM과 ROM은 모두 임의 접근 장치
© 2004 Pearson Addison-Wesley. All rights reserved
1-23
CD/DVD
• CD(Compact Disc)
 CD-ROM은 휴대용 판독 전용 메모리(read-only memory)
 CD-Recordable (CD-R) 드라이브 CD에 정보를 한번 기록 가능
 CD-Rewritable (CD-RW) 드라이브 CD에 정보를 삭제/재기록 가능
 CD 드라이브의 속도는 읽고/쓰는 속도
• DVD(Digital Video Disc)
 DVD는 CD와 크기는 같지만 저장 용량은 훨씬 크다.
 CD 650 MB, DVD 4.7 GB/9.4 GB
 DVD-R, DVD-RW
© 2004 Pearson Addison-Wesley. All rights reserved
1-24
중앙 처리 장치(Central Processing Unit)
• CPU는 마이크로프로세서 칩으로 구현된다.
• 인출-해석-실행(fetch-decode-execute) 사이클을
계속한다.
주 메모리로부터 명령어 인출
인출
실행
명령어를 실행
© 2004 Pearson Addison-Wesley. All rights reserved
해석
명령어 의미 해석
1-25
중앙 처리 장치(Central Processing Unit)
• CPU 내부
산술/논리부
(Arithmetic / Logic Unit)
제어부
(Control Unit)
레지스터
(Registers)
© 2004 Pearson Addison-Wesley. All rights reserved
계산을 수행하고
논리적 결정을 한다.
처리 단계를
제어한다
작은 저장
공간
1-26
중앙 처리 장치(Central Processing Unit)
• CPU 속도
 시스템 클럭(system clock)에 의해 제어
• 시스템 클럭
 일정 시간 간격으로 펄스 생성
 펄스가 CPU의 동작을 조정한다
 속도는 보통 gigahertz (GHz) 단위
© 2004 Pearson Addison-Wesley. All rights reserved
1-27
모니터
• 모니터 크기 (17")는 대각선 길이
• 모니터 해상도(resolution)
 디스플레이 할 수 있는 화소(pixel) 개수
 고해상도 모니터 선명한 그림
© 2004 Pearson Addison-Wesley. All rights reserved
1-28
Outline
컴퓨터 처리
하드웨어 구성요소
네트워크
Java 프로그래밍 언어
프로그램 개발
객체-지향 프로그래밍
© 2004 Pearson Addison-Wesley. All rights reserved
1-29
네트워크(Networks)
• 네트워크는 2 대 이상의 컴퓨터의 연결
 데이터/자원 교환 혹은 공유
• 각 컴퓨터는 고유의 네트워크 주소(network address)
• 파일 서버(file server)
 네트워크 사용자들 사이에 공유되는 파일(데이터, 프로그램)을
저장하고 서비스 하는 컴퓨터
© 2004 Pearson Addison-Wesley. All rights reserved
1-30
네트워크 연결
• 점-대-점 연결(point-to-point connections)
 각 컴퓨터가 네트워크 내의 다른 모든 컴퓨터들에 직접 연결
새로운 컴퓨터가 추가되면 ?
실용적이지 않겠죠?
© 2004 Pearson Addison-Wesley. All rights reserved
1-31
네트워크 연결
• 대부분의 네트워크는 하나의 통신 라인을 공유
• 쉽게 새 컴퓨터 추가 가능
교대로 라인을 사용 !
© 2004 Pearson Addison-Wesley. All rights reserved
보통 패킷(packet) 단위로 정보를
분할해서 보내고
받는 쪽에서 다시 조립
1-32
지역 네트워크(Local-Area Networks)
지역 네트워크(LAN)
작은 지역
적은 수의 컴퓨터들
LAN
LAN은 보통 한 빌딩 내의 컴퓨터들 연결
© 2004 Pearson Addison-Wesley. All rights reserved
1-33
광역 네트워크(Wide-Area Networks)
광역 네트워크 (WAN)
장거리
두 개 이상의 LAN 연결
LAN
LAN은 한 조직 내
WAN은 다른 나라 사이
LAN
© 2004 Pearson Addison-Wesley. All rights reserved
1-34
인터넷(Internet)
• 인터넷은 전지구적 WAN
 Internet : internetworking
 미 국방성에서 시작 (ARPANET)
 Advanced Research Projects Agency (ARPA)
© 2004 Pearson Addison-Wesley. All rights reserved
1-35
TCP/IP
• 프로토콜
 서로 통신하는 규약
 Internet은 TCP/IP 프로토콜 사용
• Internet Protocol (IP)
 전달되는 (주소를 포함한) 정보의 포맷 결정
• Transmission Control Protocol (TCP)
 메시지를 보내는 방식
 받은 메시지를 재조립하는 방식 결정
© 2004 Pearson Addison-Wesley. All rights reserved
1-36
IP와 인터넷 주소
• 인터넷 상의 모든 컴퓨터는 유일한 IP 주소를 갖는다.
203.252.201.11
• 대부분의 컴퓨터는 인터넷 주소(Internet address)
cs.sookmyung.ac.kr
 cs: 컴퓨터 이름
 sookmyung.ac.kr: 속해있는 기관을 나타내는 도메인 이름
• Domain Name System (DNS)
 인터넷 주소를 IP 주소로 번역
© 2004 Pearson Addison-Wesley. All rights reserved
1-37
도메인 이름(Domain Names)
• 도메일 이름은 마지막 부분은 기관의 종류
-
edu
com
org
net
교육기관
회사
비영리기관
네트워크 관련 기관
나라이름
kr
au
ca
se
-
Korea
Australia
Canada
Sweden
© 2004 Pearson Addison-Wesley. All rights reserved
1-38
웹(World Wide Web)
• WWW(World Wide Web)
 여러 종류의 정보를 공용 인터페이스를 통해 접근 가능
• 웹 브라우저(Web browser)
 웹 상의 정보를 접근하여 제공하는 소프트웨어
 텍스트, 그래픽, 오디오, 비디오, 실행 프로그램
• 웹 문서는 다른 웹 문서들에 대한 링크 포함
 hypermedia 환경
 단어 web의 원래 의미처럼
© 2004 Pearson Addison-Wesley. All rights reserved
1-39
웹(World Wide Web)
• 웹 문서 작성 언어
 HyperText Markup Language (HTML)
• Uniform Resource Locator (URL)
 웹 상의 정보 위치
 http://www.google.com
 http://cs.sookmyung.ac.kr/~chang
 프로토콜, 도메인, 문서
© 2004 Pearson Addison-Wesley. All rights reserved
1-40
Outline
컴퓨터 처리
하드웨어 구성요소
네트워크
Java 프로그래밍 언어
프로그램 개발
객체-지향 프로그래밍
© 2004 Pearson Addison-Wesley. All rights reserved
1-41
Java
• 프로그래밍 언어
 프로그램 작성에 사용되는 단어와 기호 정의
 유효한 프로그램 문장(statement)을 만드는 (단어, 기호 조립)
규칙 정의
• Java 프로그래밍 언어
 Sun Microsystems, 1995
© 2004 Pearson Addison-Wesley. All rights reserved
1-42
Java 프로그램 구조
• Java 프로그래밍 언어:
 프로그램
하나 혹은 그 이상의 클래스들로 구성된다.
 클래스
하나 혹은 그 이상의 메쏘드들을 포함한다.
 메쏘드
프로그램 문장들을 포함한다.
• Java 애플리케이션
반드시 Main 메쏘드를 포함해야 한다.
© 2004 Pearson Addison-Wesley. All rights reserved
1-43
Lincoln.java
//********************************************************
// Java 애플릿케이션의 기본 구조를 보여준다.
//********************************************************
public class Lincoln
{
//------------------------------------------// 대통령의 말씀을 프린트한다
//------------------------------------------public static void main (String[] args)
{
System.out.println (“A quote by Abraham Lincoln:");
System.out.println (“Whatever you are, be a good one.");
} // method main
} // class Lincoln
© 2004 Pearson Addison-Wesley. All rights reserved
1-44
Java 프로그램 구조
// 클래스에 대한 주석(코멘트)
public class MyProgram
{
클래스 머리(class header)
클래스 본체(class body)
주석은 어디든지 가능
}
© 2004 Pearson Addison-Wesley. All rights reserved
1-45
Java 프로그램 구조
// 클래스에 대한 주석
public class MyProgram
{
//
메쏘드에 대한 주석
public static void main (String[] args)
{
메쏘드 본체(method body)
메쏘드 머리
(method header)
}
}
© 2004 Pearson Addison-Wesley. All rights reserved
1-46
코멘트/주석(Comments)
• 인라인 문서(inline documentation)라고도 한다.
• 프로그램의 목적과 처리 단계를 설명
• 프로그램 실행과는 무관
• 3 형태의 Java 코멘트
// 이 줄 끝까지 코멘트
/*
this comment runs to the terminating
symbol, even across line breaks
/** 한글 코멘트도 가능
© 2004 Pearson Addison-Wesley. All rights reserved
*/
*/
1-47
식별자(Identifiers)
• 식별자 ?
 프로그램에서 사용하는 단어 혹은 이름
 프로그래머가 선택할 수 있음
• 식별자 구성 규칙
 문자, 숫자, 밑줄문자(_)로 구성
 숫자로 시작할 수 없음
 대소문자 구별(case sensitive )
• Total, total, TOTAL
• 관례
 title case for class names - Lincoln
 upper case for constants - MAXIMUM
© 2004 Pearson Addison-Wesley. All rights reserved
1-48
예약어(Reserved Words)
• 미리 정의된 특별한 식별자
• Java 예약어
abstract
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
false
final
finally
float
for
goto
if
implements
import
instanceof
© 2004 Pearson Addison-Wesley. All rights reserved
int
interface
long
native
new
null
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
true
try
void
volatile
while
1-49
공백(White Space)
• 공백
 공백문자(Space), 개행문자(new line), 탭 문자(tab)
 단어와 기호를 분리하는데 사용
 불필요한 공백은 무시
• 공백을 이용하여 한 프로그램을 여러 포맷으로 작성 가능
• 적절히 사용해서 읽기 쉽게 작성해야 함.
© 2004 Pearson Addison-Wesley. All rights reserved
1-50
Lincoln2.java
//********************************************************************
// 적법하기는 하지만 서툴게 편집된 프로그램을 보여준다.
//********************************************************************
public class Lincoln2{public static void main(String[]args){
System.out.println("A quote by Abraham Lincoln:");
System.out.println("Whatever you are, be a good one.");}}
© 2004 Pearson Addison-Wesley. All rights reserved
1-51
Lincoln3.java
//********************************************************************
// 서툴게 편집된 또 다른 적법한 프로그램을 보여준다.
//********************************************************************
public
class
Lincoln3
{
public
static
void
main
(
String
[]
args
)
{
System.out.println
(
"A quote by Abraham Lincoln:"
)
;
System.out.println
(
"Whatever you are, be a good one."
)
;
}
}
© 2004 Pearson Addison-Wesley. All rights reserved
1-52
Outline
컴퓨터 처리
하드웨어 구성요소
네트워크
Java 프로그래밍 언어
프로그램 개발
객체-지향 프로그래밍
© 2004 Pearson Addison-Wesley. All rights reserved
1-53
프로그램 개발
• 프로그램 개발 과정
 (Java) 같은 특정 언어로 프로그램 작성
 프로그램을 컴퓨터가 실행할 수 있는 형식으로 번역
 일어날 수 있는 여러 종류의 오류를 찾아내고 수정
• 소프트웨어 도구를 사용할 수 있음.
© 2004 Pearson Addison-Wesley. All rights reserved
1-54
언어 수준
• 4 수준의 프로그래밍 언어
 기계어(machine language)
 어셈블리어(assembly language)
 고급 언어(high-level language)
• CPU마다 고유의 기계어가 있다.
• 다른 수준의 언어는 사람이 쉽게 사용할(읽고/쓸) 수
있도록 만들었다.
© 2004 Pearson Addison-Wesley. All rights reserved
1-55
프로그래밍 언어
• CPU마다 고유의 기계어가 있다.
• 프로그램 번역
 프로그램은 실행 전에 기계어로 번역되어야 한다.
• 컴파일러(compiler)
 원시 코드(source code)를 특정 목적 언어로 번역하는
소프트웨어
 흔히 목적 언어는 CPU의 기계어이다.
• Java 는 좀 다른 방법을 사용한다.
© 2004 Pearson Addison-Wesley. All rights reserved
1-56
Java 번역
• Java 컴파일어
 Java 소스 코드를 바이트코드(bytecode)로 번역
• 바이트코드(bytecode)
 특정 CPU의 기계어는 아님
 가상의 저수준 코드
• 바이트코드 인터프리터(interpreter)
 해석해서 실행하는 소프트웨어
• 아키텍처-중립적(architecture-neutral)
 Java 컴파일러가 특정 기계에 의존하지 않음
© 2004 Pearson Addison-Wesley. All rights reserved
1-57
Java 번역
Java source
code
Java
compiler
Java
bytecode
Bytecode
interpreter
Bytecode
compiler
Machine
code
© 2004 Pearson Addison-Wesley. All rights reserved
1-58
개발 환경(Development Environment)
• Java 프로그램 개발 환경






Sun Java Development Kit (JDK)
Sun NetBeans
IBM Eclipse
Borland JBuilder
MetroWerks CodeWarrior
Monash BlueJ
• 편집, 컴파일, 실행 과정은 유사
© 2004 Pearson Addison-Wesley. All rights reserved
1-59
오류(Error)
• 3 종류 프로그래밍 오류
• 컴파일-시간 오류(compile-time errors)
 컴파일러가 찾아내는 구문 오류 등의 오류
 실행 파일을 만들 수 없다.
• 실행-시간 오류(run-time errors)
 프로그램 실행 중에 발생된 문제
 0으로 나누기  프로그램 종료
• 논리 오류 (logical errors)
 실행은 되나 잘못된 결과 생성
© 2004 Pearson Addison-Wesley. All rights reserved
1-60
기본적인 프로그램 개발 과정
프로그램 편집 및 저장
오류
오류
프로그램 컴파일
프로그램 실행 및
결과 평가
© 2004 Pearson Addison-Wesley. All rights reserved
1-61
Outline
컴퓨터 처리
하드웨어 구성요소
네트워크
Java 프로그래밍 언어
프로그램 개발
객체-지향 프로그래밍
© 2004 Pearson Addison-Wesley. All rights reserved
1-62
문제 해결(Problem Solving)
• 프로그램 작성 목적은 어떤 문제 해결
• 문제 해결 과정
 문제 이해
 해법(solution) 설계
 다른 생각으로 해법 개선
 해법 구현
 테스트
© 2004 Pearson Addison-Wesley. All rights reserved
1-63
문제 해결(Problem Solving)
• 해법 설계의 핵심
 문제를 관리 가능한 조작들로 나눈다
 Divide and Conquer !
• 소프트웨어 작성
 해법의 각 부분을 담당하는 여러 조작으로 나누어 설계한다.
• 객체 지향 방법(object-oriented approach)
 일종의 해법 분해 과정
 문제에 대한 해법을 객체와 클래스라는 조각으로 분해
© 2004 Pearson Addison-Wesley. All rights reserved
1-64
객체-지향 프로그래밍
• Java는 객체-지향 프로그래밍 언어이다.
(object-oriented programming language)
 객체는 Java 프로그램에서 기본적인 개체(entity)이다.
 객체는 실세계의 개체를 나타내는데 사용된다.
• 예
 회사의 직원을 나타내는 객체
 각 직원 객체가 직원과 관련된 데이터 관리 및 처리를 담당한다.
© 2004 Pearson Addison-Wesley. All rights reserved
1-65
객체(Objects)
• 객체
 상태(state) - 특성을 나타내는
 동작(behaviors) - 할 수 있는 혹은 될 수 있는
• 은행 계좌 상태
 번호, 잔액, 거래 내역
• 은행 계좌 동작
 입금, 출금
• 객체의 동작이 상태를 바꿀 수 있다.
© 2004 Pearson Addison-Wesley. All rights reserved
1-66
클래스(Classes)
• 클래스
 객체에 대한 정의
 객체에 대한 설계도
• 클래스 내부
 상태를 나타내기 위한 변수
 동작을 정의하는 메쏘드
 main 메쏘드 포함하는 클래스가 전체 프로그램을 대표
• 클래스 vs. 객체
 클래스는 개념을 나타내고 객체는 그 개념의 실체를 나타낸다.
 한 클래스로 부터 여러 객체들을 생성할 수 있다.
© 2004 Pearson Addison-Wesley. All rights reserved
1-67
객체와 클래스
클래스
(개념)
객체
(실체)
Bank
Account
John’s Bank Account
Balance: $5,257
Bill’s Bank Account
Balance: $1,245,069
한 클래스로부터
여러 객체들 생성
© 2004 Pearson Addison-Wesley. All rights reserved
Mary’s Bank Account
Balance: $16,833
1-68
상속(Inheritance)
• 상속을 통해 한 클래스로부터 다른 클래스 유도 가능
• 상속 관계에 따라 클래스 계층구조 형성
Account
Charge
Account
Bank
Account
Savings
Account
© 2004 Pearson Addison-Wesley. All rights reserved
Checking
Account
1-69
요약
 컴퓨터 구성요소
 구성요소간 상호작용
 컴퓨터의 정보 저장 및 조작
 컴퓨터 네트워크
 인터넷과 웹
 프로그래밍 언어
 자바 소개
 객체-지향 개념 개요
© 2004 Pearson Addison-Wesley. All rights reserved
1-70