Internet Computing KUT Youn-Hee Han

Slides:



Advertisements
Similar presentations
Copyright © 2015 Pearson Education, Inc. 6 장 : 프로그래밍 언어.
Advertisements

인공지능 소개 부산대학교 인공지능연구실. 인공 + 지능 인공지능이란 ? 2.
김예슬 김원석 김세환. Info Northcutt Bikes Northcutt Bikes The Forecasting problem The Forecasting problem The solution 1~6 The.
Copyright © 2006 The McGraw-Hill Companies, Inc. 프로그래밍 언어론 2nd edition Tucker and Noonan 5 장 타입 “ 타입은 컴퓨터 프로그래밍의 효소이다 ; 프로그래밍은 타입을 통해 소화할만한 것이 된다.” 로빈.
3. C++와 객체지향 C++ 코딩 방법 객체 단위로 2 개의 파일 인터페이스 파일 구현파일
Vision System Lab, Sang-Hun Han
Chapter 7 ARP and RARP.
Internet Computing KUT Youn-Hee Han
객체지향 프로그래밍.
Internet Computing KUT Youn-Hee Han
제 6 장 데이터 타입 6.1 데이터 타입 및 타입 정보 6.2 타입의 용도 6.3 타입 구성자 6.4 사례 연구
Introduction to Web Service Computing
프로그래밍 언어론 2004년 가을학기 창 병 모 숙명여대 컴퓨터과학과.
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
Internet Computing KUT Youn-Hee Han
소프트웨어 공학 (Software Engineering)
Java RMI (Remote Method Invocation)
Internet Computing KUT Youn-Hee Han
C++ 프로그래밍 2009년 2학기 전자정보공학대학 컴퓨터공학부.
C++ 프로그래밍 2007년 1학기 전자정보공학대학 컴퓨터공학부.
소프트웨어공학 UML 학기.
10장 객체-지향 프로그래밍 II ©창병모.
Power Java 제15장 예외 처리 (Exception Handling).
프로그램 개발과 언어 Chapter 05 컴퓨터의 이해
소프트웨어설계 UML 학기.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
강의 보조자료 & Homework #2 - 로그인과 이미지 카운터 만들기 -
Internet Computing KUT Youn-Hee Han
윤 홍 란 4 장 클래스 작성 윤 홍 란
Power Java 제7장 클래스와 객체.
C ++ 프로그래밍 시작.
김 정 석 Web Programming 김 정 석
C++ 개요 객체지향 윈도우즈 프로그래밍 한국성서대학교 유일선
계수와 응용 (Counting and Its Applications)
영어 발표 민경태, 김설아, 조아름, 유미.
adopted from KNK C Programming : A Modern Approach
Professional Sales Negotiations
소프트웨어 공학 (Software Engineering)
메소드와 클래스 정의 및 문제 풀이 Method and Class Define and Problem Solve
Introduction to Programming Language
Course Guide - Algorithms and Practice -
[CPA340] Algorithms and Practice Youn-Hee Han
[INA470] Java Programming Youn-Hee Han
Java IT응용시스템공학과 김형진 교수 5장. 객체지향 개념 public class SumTest {
Chapter3 : 객체지향의 개념 3.1 객체지향(object-oriented)과
Chap02 객체 지향 개념 2.1 객체지향(object-oriented)과 절차지향(procedural-oriented)
Internet Computing KUT Youn-Hee Han
시스템 분석 및 설계 글로컬 IT 학과 김정기.
3장. 클래스의 기본.
Operating System Multiple Access Chatting Program using Multithread
Chapter 02. 소프트웨어와 자료구조.
Signature, Strong Typing
Signature, Strong Typing
Chapter 13 – 객체 지향 프로그래밍 Outline 13.1 소프트웨어의 재사용과 독립성
3장,4장 발표 서정우.
Part 3 객체지향 Chapter 5 : 객체지향 개념 Chapter 6 : 클래스 : 속성
Internet Computing KUT Youn-Hee Han
Signature, Strong Typing
Java RMI (Remote Method Invocation)
창 병 모 숙명여대 전산학과 자바 언어를 위한 CFA 창 병 모 숙명여대 전산학과
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
Chapter 4 클래스 작성.
캡슐화 (Encapsulation) 두원공과대학 소프트웨어개발과 이 원 주.
C# 09장. 클래스와 객체.
C.
Internet Computing KUT Youn-Hee Han
C++ 언어의 특징
Ray Casting 발표자 : 박 경 와
Speaking -여섯 번째 강의 (Review ) RACHEL 선생님
Presentation transcript:

Internet Computing Laboratory @ KUT Youn-Hee Han 객체지향 방법론 Internet Computing Laboratory @ KUT Youn-Hee Han

1. 객체지향 개념 Problem Description “ …customers are allowed to have different types of bank accounts, deposit money, withdraw money and transfer money between accounts” Web Programming

1. 객체지향 개념 Procedural Approach bool MakeDeposit(int accountNum,float amount); float Withdraw(int accountNum,float amount); struct Account { char *name; int accountNum; float balance; char accountType; }; Web Programming

1. 객체지향 개념 Procedural Approach Focus is on procedures Most data is shared: no protection More difficult to modify Hard to manage complexity Web Programming

1. 객체지향 개념 Object Oriented Procedural Customer, money, account withdraw, deposit, transfer Object Oriented Customer, money, account Web Programming

1. 객체지향 개념 Mapping the world to software Objects in the problem domain are mapped to objects in software 011101 10011 11101 0110100 11010 010101 1110101 10101 Web Programming

Account 1. 객체지향 개념 Object Oriented Approach Withdraw Deposit Transfer Data and operations are grouped together Account Withdraw Deposit Transfer Web Programming

1. 객체지향 개념 Object Oriented Approach class Account { public: float withdraw(); void deposit(float amount); private: float balance; ); Web Programming

1. 객체지향 개념 문제: 부산에 사시는 할머니에게 꽃을 보낸다 절차적 방법론 (Procedural Method), 절차적 언어 func1() { 꽃을 산다. } func2() { 택배직원을 부른다.} func3() { 택배직원으로 하여금 꽃을 배송시킨다.} func4() { 택배직원은 부산까지 꽃을 배송한다.} func5() { 부산에 있는 택배지국은 할머니에게 꽃을 보낸다.} main() { func1(); func2(); func3(); func4(); func5(); } Web Programming

1. 객체지향 개념 문제: 부산에 사시는 할머니에게 꽃을 보낸다 객체지향적 방법론 (Object-oriented Method), 객체지향적 언어 class 나자신 { …. } class 꽃판매원 { … } class 택배직원 { … } class 택백부산지국 { …} class 할머니 {… } main() { 나자신 a; 꽃판매원 b; 택배직원 c; 택배부산지국 d; 할머니 e; a.buyFlower(b); a.call(c); c.deliverFlowerTo(d); d.deliverFlowerTo(e); } Web Programming

1. 객체지향 개념 In computer science, object-oriented programming is a computer programming paradigm. Object-oriented programming was born at the end of the 1960s, when the early field of software engineering had begun to discuss the idea of a software crisis. As hardware and software became increasingly complex, how could software quality be maintained? Object-oriented programming in part addresses this problem by strongly emphasizing modularity in software. Object-oriented programming is claimed to promote greater flexibility and maintainability in programming, and is widely popular in large-scale software engineering. Web Programming

1. 객체지향 개념 Procedural vs. Object-Oriented Programming The unit in procedural programming is function, and unit in object-oriented programming is class Procedural programming concentrates on creating functions, while object-oriented programming starts from isolating the classes, and then look for the methods inside them. Procedural programming separates the data of the program from the operations that manipulate the data, while object-oriented programming focus on both of them at the same time. Web Programming

1. 객체지향 개념 객체지향 방법론의 이점 실생활의 개념과 거의 동일하다 프로그래머가 작성해야 할 프로그램의 양이 줄어든다 각 객체들마다 완벽한 모듈화(Modularity)를 제공하기 때문에 코드 재사용(Code Reuse)을 극대화 할 수 있다. 유지보수가 편리하다 Web Programming

2. 객체와 클래스 클래스 (Class) 객체 (Object) 유사한 특징을 지닌 객체에 대한 속성의 포멧을 지님. 객체를 만드는 공장, 붕어빵 틀 객체 (Object) = 클래스 인스턴스 (Instance) 객체 (Object) 의미 있는 객체 자체와 그 객체의 속성 (property or attribute) 과 메소드 (method) 의 소프트웨적인 묶음 실세계의 객체의 특성 상태(state)와 행동(behavior) 소프트웨어 객체 속성(property)와 메소드(method) 객체 다이어그램 Web Programming

2. 객체와 클래스 object class Objects and Classes girl Classes reflect concepts, objects reflect instances that embody those concepts. object class girl Jodie Daria Jane Brittany Web Programming

2. 객체와 클래스 “Class” refers to a blueprint. It captures the common properties & behavior of the objects instantiated from it It defines the variables and methods the objects support A class can have two kinds of members: Fields(=variable): data variables which determine the status of the class or an object methods: executable code of the class built from statements. It allows us to manipulate/change the status of an object or access the value of the data member “Object” is an instance of a class. Each object has a class which defines its data and behavior Web Programming

2. 객체와 클래스 속성 (Property) 메소드 (Method) 객체의 특징적인 면들을 기술 보통 이름과 그에 해당하는 값들의 쌍으로 표현된다. 메소드 (Method) 객체의 행동 방식을 정의 객체들 사이에 서로 어떤 기능을 수행하라고 명령 임의의 사람 객체 You가 자전거 객체 Your Bicycle에게 기어를 바꾸어 달라고 하는 메소드를 호출 Web Programming

2. 객체와 클래스 Object vs. Instance 임의의 클래스는 특정 객체를 생성하는 공장 (Factory) 이다. 객체를 지칭할 때나 일반적인 객체를 통칭할 때 사용 Instance 클래스에서 방금 생성된 객체(object)를 지칭. 임의의 클래스는 특정 객체를 생성하는 공장 (Factory) 이다. 객체는 클래스에서 정의한 모든 특성을 가지게 된다. 클래스는 객체의 틀(frame)과 같은 역할을 한다. 붕어빵틀과 붕어빵 = 클래스와 객체 Web Programming

2. 객체와 클래스 Objects as instances of Classes The world conceptually consists of objects Many objects can be said to be of the same type or class My bank account, your bank account, Bill Gates’ bank account … We call the object type a class An Object is instantiated from a Class BankAccount myAccount; myAccount = new BankAccount; Web Programming

2. 객체와 클래스 캡슐화(encapsulation) 캡슐화의 장점 소프트웨어를 깔끔하고, 복잡하지 않게 만듦 내부에 있는 속성은 외부로부터 보호 원자의 핵처럼 안쪽은 속성들이 있고, 외부에 메소드들이 둘러싸고 있다. 캡슐화의 장점 소프트웨어를 깔끔하고, 복잡하지 않게 만듦 모듈화(Modularity) 하나의 객체에 대한 원시프로그램(source program)은 다른 객체의 원시프로그램에 영향을 주지 않고 유지된다. 정보 은닉(Information hiding) 객체는 다른 객체가 외부에서 접촉할 수 있는 공개된 인터페이스 (public interface)를 제공해줌과 동시에, 외부에 아무 영향을 미치지 않고 자신만의 정보를 처리할 수 있는 기능이 있다. Web Programming