SlideShare a Scribd company logo
1 of 50
Object - Oriented
Programming
Concepts
2000. 4. 14.
Kwang Shin Oh
Dept. of Research & Development
http://raytrust.pe.kr
raytrust@raytrust.pe.kr
Copyright 2000 © Kwang Shin Oh
2Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
OO Concept
 if you’ve never programmed using an
object-oriented language before
 need to understand what objects and
classes are
 need to understand how these concepts
translate to code
 this document provides the conceptual
basis for object-oriented languages in
general
3Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Object?
 objects are key to understanding
object-oriented technology
 many examples of real-world objects
 your dog, your desk, your television set,
your bicycle
 real-world objects share two
characteristics
 they all have state
 they all have behavior
4Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an Object?
 for example
 dogs have state

name, color, breed, hungry
 dogs have behavior

barking, fetching, slobbering
 bicycles have state

speed, pedal cadence, current gear
 bicycles have behavior

braking, changing cadence, changing gears
5Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Object?
 software objects
 modeled after real-world objects in that
they have state and behavior
 maintains its state in variables
 implements its behavior with methods
 Definition : An object is a
software bundle of variables and
related methods
6Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Object?
 represent real-world objects using
software objects
 also use software objects to model
abstract concepts
Private
Implementation
Details
Public
API
Visual Representation
of a Software Object
7Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Object?
 software object that modeled your
real-world bicycle
 have variables that indicated the bicycle’s
current state

its speed is 10 mph

its pedal cadence is 90 rpm

its current gear is the 5th
gear
8Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Object?
 these variables and methods are
formally known as instance
variables and instance methods
 to distinguish them from class variables
and class methods
10 mph
Bicycle Modeled
as a Software Object 90 rpm
5th
gear
change cadence
change gears
brake
9Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Object?
 anything that an object does not know
or cannot do is excluded from the
object
 for example

bicycle (probably) doesn’t have a name, and
it can’t run, bark, or fetch

thus there are no variables or methods for
those states and behaviors in the bicycle
class
10Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Object?
 the object’s variables make up the
center or nucleus of the object
 methods surround and hide the
object’s nucleus from other objects in
the program
 encapsulation
 packaging an object’s variables within the
protective custody of its methods
11Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Object?
 encapsulation is used to hide
unimportant implementation details
from other objects
 in real world
 when you want to change gears on your
bicycle

you don’t need to know how the gear
mechanism works

you just need to know which lever to move
12Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Object?
 in software programs
 you don’t need to know how a class is
implemented
 you just need to know which methods to
invoke
 thus, the implementation details can
change at any time without affecting
other parts of the program
13Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Object?
 often, for implementation or efficiency
reasons
 an object may wish to expose some of its
variables or hide some of its methods
 so, in many languages, including Java
 an object can choose to expose its
variables to other objects allowing those
other objects to inspect and even modify
the variables
14Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Object?
 The Benefits of Encapsulation
 Modularity

the source code for an object can be written
and maintained independently of the source
code for other obejcts

an object can be easily passed around in the
system
15Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Object?
 Information hiding

an object has a public interface that other
objects can use to communicate with it

the object can maintain private information
and methods that can be changed at any
time without affecting the other objects that
depend on it

you don’t need to understand the gear
mechanism on your bike in order to use it
16Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a
Message?
 a single object alone
 not very useful
 usually appears as a component of a
larger program or application that
contains many other object
 so, the interaction of these objects
 programmers achieve higher order
functionality and more complex behavior
17Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a
Message?
 software objects interact and
communicate with each other by
sending messages to each other
 when object A wants object B to
perform one of B’s methods
 object A sends a message to object B
Object B
Object A
Message
18Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a
Message?
 sometimes the receiving object needs
more information so that it knows
exactly what to do
 this information is passed along with the
message as parameters
 Three components comprise a
message
1. The object to whom the message is addressed
2. The name of the method to perform
3. Any parameters needed by the method
19Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a
Message?
 three components are enough
information for the receiving object
to perform the desired method
 No other information or context is
required
Your Bicycle
You
changeGears(lowerGear)
20Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a
Message?
 The Benefits of Messages
 an object’s behavior is expressed through
its methods

so message passing supports all possible
interactions between objects
 objects don’t need to be int the same
process or even on the same machine

to send and receive messages back and forth
to each other
21Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a Class?
 in the real world
 often have many objects of the same kind

for example, your bicycle is just one of many
bicycles in the world
 using object-oriented terminology
 your bicycle obejct is an instance of the
class of objects known as bicycles
22Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a Class?
 bicycles have some state(speed, current
cadence, current gear) and
behavior(change gears, brake, change
cadence) in common
 however, each bicycle’s state is
independent of and can be different
fromother bicycles
 produce a new blueprint for every individual
bicycle they manufactured
 it would be very inefficient!!!!
23Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a Class?
 in object-oriented software
 it’s also possible to have many objects of
the same kind that share characteristics

rectangles, employee records, video clips and
so on
 you can take advantage of the fact

objects of the same kind are similar and you
can create a blueprint for those objects
24Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a Class?
 software “blueprints” for objects are
called classes
 Definition
A class is a blueprint or prototype
that defines the variables and
methods common to all objects of a
certain kind
25Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a Class?
 the values for instance variables are
provided by each instance of the class
 so, after you’ve created the bicycle
class
 you must instantiate it(create an instance
of it) before you can use it
 when you create an instance of a
class
 you

create an object of that type
26Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a Class?
 system

allocates memory for the instance variables
declared by the class
 then you can invoke the object’s
instance methods
 to make it do domething
 Instances of the same class
 share the same instance method
implementations, which reside in the
class itself
27Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a Class?
 in addition to instance variables and
methods, classes can also define
class variables and class
methods
 you can access class variables and
methods from
 an instance of the class
 directly from a class
 you don’t have to instantiate a class
 to use its class variables and methods
28Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a Class?
 class methods can only operate on
class variables
 they do not have access to instance
variables or instance methods
 the first time it encounters the class
 the system creates a single copy of all
class variables for a class
 all instances of that class share its
class variables
29Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a Class?
 the illustrations of objects and classes
look very similar to one another
 the difference between classes and
objects is often the source of some
confusion
 in the real-world it’s obvious
 that classes are not themselves the
objects that they describe

a blueprint of a bicycle is not a bicycle
30Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a Class?
 however, in software
 it’s a little more difficult to differentiate
classes and objects
 because
 software objects are merely electronic
models of real-world objects or abstract
concepts in the first place
 many people use the term “object”
inconsistently and use it to refer to both
classes and instances
31Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is a Class?
 The Benefit of Classes
 reusability

bicycle manufacturers reuse the same
blueprint over and over again to build lots of
bicycles

software programmers use the same class,
and thus the same code, over and over again
to create many object
32Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is
Inheritance?
 generally speaking, objects are
defined in terms of classes
 know a lot about an object by knowing
its class
 even if you don’t know what a penny-
farthing is
 if I told you it was a bicycle
 you would know that it had two wheels,
handle bars, and pedals
33Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is
Inheritance?
 object-oriented systems
 take this a step further
 allow classes to be defined in terms of
other classes
 for example
 mountain bikes, racing bikes, and
tandems are all different kinds of bicycles
34Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is
Inheritance?
 in object-oriented terminology
 mountain bikes, racing bikes, and
tandems are all subclasses of the
bicycle class
 similarly, the bicycle class is the
superclass of mountain bikes, racing
bikes, and tandems
35Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is
Inheritance?
Mountain Bikes
Bicycles
Racing Bikes Tandem Bikes
36Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is
Inheritance?
 each subclass inherits state (int the form
of variable declarations) from the
superclass
 mountain bikes, racing bikes, and tandems
share some states

cadence, speed, and the like
 also, each subclass inherits methods from
the superclass
 mountain bikes, racing bikes, and tandems
share some behaviors

braking and changing pedaling speed
37Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is
Inheritance?
 however, subclasses are not limited to
the state and behaviors provided to
them by their superclass
 what would be the point in that?
 subclasses can add variables and
methods to the ones they inherit from the
superclass
 for examples, tandem bicycles have two
seats and two sets of handle bars
38Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is
Inheritance?
 subclasses can also override inherited
methods and provide specialized
implementations for those methods
 for example
 if you had a mountain bike with an extra
set of gears
 you would override the “change gears”
method so that the rider could actually
use those new gears
39Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is
Inheritance?
 not limited to just one layer of
inheritance
 the inheritance tree, or class hierarchy
 can be as deep as needed
 methods and variables are inherited
down through the levels
 in general, the further down in the
hierarchy a class appears, the more
specialized its behavior
40Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is
Inheritance?
 The Benefits of Inheritance
 reuse the code

subclasses provide specialized behaviors
from the basis of common elements provided
by the superclass

through the use of inheritance, programmers
can reuse the code in the superclass many
times
41Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is
Inheritance?
 abstract classes

programmers can implement superclasses
called abstract classes that define “generic”
behaviors

the abstract superclass defines and may
partially implement the behavior

but, much of the class is undefined and
unimplemented

other programmers fill in the details with
specialized subclasses
42Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Interface?
 in English
 an interface is a device or system that
unrelated entities use to interact
 according to this definition
 remote control

an interface between you and television set
 English language

an interface between two people
43Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Interface?
 protocol of behavior enforced in the
military

an interface between people of different
ranks
 within the Java programming
language
 interface

a device that unrelated objects use to interact
with one another
44Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Interface?
 interfaces are probably most analogous
to protocols(an agreed-upon behavior)
 in fact, other object-oriented
languages
 have the functionality of interfaces
 but they call their interfaces protocols
45Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Interface?
 the bicycle class and its class
hierarchy defines
 what bicycles can and cannot do in terms
of its “bicycle-ness”
 but bicycles interact with the world on
other terms
 for example

a bicycle in a store is an inventory item with a
retail price, a part number, a parts list, and so
on
46Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Interface?
 to set or get this sort of information from
a bicycle object

an inventory program and the bicycle class
must agree on a protocol of communication
 this protocol comes in the form of an
interface

let’s call it InventoryItem, that contains
method definitions
 the InventoryItem interface would
define methods such as setRetailPrice,
getRetailPrice, and so on
47Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Interface?
 to work within the inventory program
 the bicycle class must agree to this
protocol

by implementing the InventoryItem
interface
 when a class implements an interface
 the class agrees to implement all of the
methods defined in the interface
 thus, the bicycle class would have to
implement setRetailPrice, getRetailPrice
48Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Interface?
 The Benefit of Interfaces
you use an interface to define a protocol of
behavior that can be implemented by any class
anywhere in the class hierarchy
 Capturing similarities

capturing similarities between unrelated
classes without artificially forcing a class
relationship
 Declaring methods

declaring methods that one or more classes
are expected to implement
49Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
What is an
Interface?
 Revealing API

revealing an object’s programming interface
without revealing its class

objects such as these are called anonymous
objects

and can be useful when shipping a package
of classes to other developers
50Object-Oriented Concepts
©2000KwangShinOh
Http://raytrust.pe.kr
Reference
 The JavaTM
Tutorial
 Trail
Learning the Java Language

Lesson
Object-Oriented Programming Concepts

More Related Content

What's hot

Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programmingAmit Soni (CTFL)
 
Basics of Object Oriented Programming in Python
Basics of Object Oriented Programming in PythonBasics of Object Oriented Programming in Python
Basics of Object Oriented Programming in PythonSujith Kumar
 
PL/SQL Introduction and Concepts
PL/SQL Introduction and Concepts PL/SQL Introduction and Concepts
PL/SQL Introduction and Concepts Bharat Kalia
 
CLASS OBJECT AND INHERITANCE IN PYTHON
CLASS OBJECT AND INHERITANCE IN PYTHONCLASS OBJECT AND INHERITANCE IN PYTHON
CLASS OBJECT AND INHERITANCE IN PYTHONLalitkumar_98
 
OOP Introduction with java programming language
OOP Introduction with java programming languageOOP Introduction with java programming language
OOP Introduction with java programming languageMd.Al-imran Roton
 
Python – Object Oriented Programming
Python – Object Oriented Programming Python – Object Oriented Programming
Python – Object Oriented Programming Raghunath A
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Conceptsthinkphp
 
1 - Introduction to PL/SQL
1 - Introduction to PL/SQL1 - Introduction to PL/SQL
1 - Introduction to PL/SQLrehaniltifat
 
Introduction to oop
Introduction to oopIntroduction to oop
Introduction to oopcolleges
 
Introduction to oop
Introduction to oop Introduction to oop
Introduction to oop Kumar
 

What's hot (20)

Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
Chapter 07 inheritance
Chapter 07 inheritanceChapter 07 inheritance
Chapter 07 inheritance
 
Oop concepts in python
Oop concepts in pythonOop concepts in python
Oop concepts in python
 
Python - object oriented
Python - object orientedPython - object oriented
Python - object oriented
 
Functions in Python
Functions in PythonFunctions in Python
Functions in Python
 
Basics of Object Oriented Programming in Python
Basics of Object Oriented Programming in PythonBasics of Object Oriented Programming in Python
Basics of Object Oriented Programming in Python
 
PL/SQL Introduction and Concepts
PL/SQL Introduction and Concepts PL/SQL Introduction and Concepts
PL/SQL Introduction and Concepts
 
CLASS OBJECT AND INHERITANCE IN PYTHON
CLASS OBJECT AND INHERITANCE IN PYTHONCLASS OBJECT AND INHERITANCE IN PYTHON
CLASS OBJECT AND INHERITANCE IN PYTHON
 
OOP Introduction with java programming language
OOP Introduction with java programming languageOOP Introduction with java programming language
OOP Introduction with java programming language
 
Python – Object Oriented Programming
Python – Object Oriented Programming Python – Object Oriented Programming
Python – Object Oriented Programming
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 
Object oriented programming With C#
Object oriented programming With C#Object oriented programming With C#
Object oriented programming With C#
 
Polymorphism
PolymorphismPolymorphism
Polymorphism
 
Python-Encapsulation.pptx
Python-Encapsulation.pptxPython-Encapsulation.pptx
Python-Encapsulation.pptx
 
1 - Introduction to PL/SQL
1 - Introduction to PL/SQL1 - Introduction to PL/SQL
1 - Introduction to PL/SQL
 
Python Modules
Python ModulesPython Modules
Python Modules
 
[OOP - Lec 01] Introduction to OOP
[OOP - Lec 01] Introduction to OOP[OOP - Lec 01] Introduction to OOP
[OOP - Lec 01] Introduction to OOP
 
Introduction to oop
Introduction to oopIntroduction to oop
Introduction to oop
 
Introduction to oop
Introduction to oop Introduction to oop
Introduction to oop
 
Ado.Net Tutorial
Ado.Net TutorialAdo.Net Tutorial
Ado.Net Tutorial
 

Viewers also liked

Object oriented programming concept
Object oriented programming conceptObject oriented programming concept
Object oriented programming conceptPina Parmar
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming ConceptsBhushan Nagaraj
 
Object Oriented Software Engineering
Object Oriented Software EngineeringObject Oriented Software Engineering
Object Oriented Software EngineeringAli Haider
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming ConceptsAbhigyan Singh Yadav
 
Concepts In Object Oriented Programming Languages
Concepts In Object Oriented Programming LanguagesConcepts In Object Oriented Programming Languages
Concepts In Object Oriented Programming Languagesppd1961
 
Basic concepts of object oriented programming
Basic concepts of object oriented programmingBasic concepts of object oriented programming
Basic concepts of object oriented programmingSachin Sharma
 
Bus tracking application in Android
Bus tracking application in AndroidBus tracking application in Android
Bus tracking application in Androidyashonil
 
Online recruitment system
Online recruitment systemOnline recruitment system
Online recruitment systemKomal Singh
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering conceptsKomal Singh
 

Viewers also liked (10)

Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Object oriented programming concept
Object oriented programming conceptObject oriented programming concept
Object oriented programming concept
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 
Object Oriented Software Engineering
Object Oriented Software EngineeringObject Oriented Software Engineering
Object Oriented Software Engineering
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 
Concepts In Object Oriented Programming Languages
Concepts In Object Oriented Programming LanguagesConcepts In Object Oriented Programming Languages
Concepts In Object Oriented Programming Languages
 
Basic concepts of object oriented programming
Basic concepts of object oriented programmingBasic concepts of object oriented programming
Basic concepts of object oriented programming
 
Bus tracking application in Android
Bus tracking application in AndroidBus tracking application in Android
Bus tracking application in Android
 
Online recruitment system
Online recruitment systemOnline recruitment system
Online recruitment system
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
 

Similar to Object-Oriented Programming Concepts

Design patterns through java
Design patterns through javaDesign patterns through java
Design patterns through javaAditya Bhuyan
 
Cs 2352 object oriented analysis and design
Cs 2352 object oriented analysis and designCs 2352 object oriented analysis and design
Cs 2352 object oriented analysis and designandrewsasi
 
What is Object Orientation?
What is Object Orientation?What is Object Orientation?
What is Object Orientation?AMITJain879
 
Introduction To Design Patterns Class 4 Composition vs Inheritance
 Introduction To Design Patterns Class 4 Composition vs Inheritance Introduction To Design Patterns Class 4 Composition vs Inheritance
Introduction To Design Patterns Class 4 Composition vs InheritanceBlue Elephant Consulting
 
ItemMirror, XML & The Promise of Information Integration
ItemMirror, XML & The Promise of Information IntegrationItemMirror, XML & The Promise of Information Integration
ItemMirror, XML & The Promise of Information Integrationkeepingfoundthingsfound
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Techglyphs
 
Handout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and DesignHandout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and DesignSAFAD ISMAIL
 
Ooad notes
Ooad notesOoad notes
Ooad notesNancyJP
 
Object Modelling Technique " ooad "
Object Modelling Technique  " ooad "Object Modelling Technique  " ooad "
Object Modelling Technique " ooad "AchrafJbr
 
Towards the Design of Intelligible Object-based Applications for the Web of T...
Towards the Design of Intelligible Object-based Applications for the Web of T...Towards the Design of Intelligible Object-based Applications for the Web of T...
Towards the Design of Intelligible Object-based Applications for the Web of T...Pierrick Thébault
 

Similar to Object-Oriented Programming Concepts (20)

Design patterns through java
Design patterns through javaDesign patterns through java
Design patterns through java
 
Cs 2352 object oriented analysis and design
Cs 2352 object oriented analysis and designCs 2352 object oriented analysis and design
Cs 2352 object oriented analysis and design
 
2 oop
2 oop2 oop
2 oop
 
Object Oriented Programing and JAVA
Object Oriented Programing and JAVAObject Oriented Programing and JAVA
Object Oriented Programing and JAVA
 
What is Object Orientation?
What is Object Orientation?What is Object Orientation?
What is Object Orientation?
 
Introduction To Design Patterns Class 4 Composition vs Inheritance
 Introduction To Design Patterns Class 4 Composition vs Inheritance Introduction To Design Patterns Class 4 Composition vs Inheritance
Introduction To Design Patterns Class 4 Composition vs Inheritance
 
Cs2305 programming paradigms lecturer notes
Cs2305   programming paradigms lecturer notesCs2305   programming paradigms lecturer notes
Cs2305 programming paradigms lecturer notes
 
ppt_ooad.pdf
ppt_ooad.pdfppt_ooad.pdf
ppt_ooad.pdf
 
ItemMirror, XML & The Promise of Information Integration
ItemMirror, XML & The Promise of Information IntegrationItemMirror, XML & The Promise of Information Integration
ItemMirror, XML & The Promise of Information Integration
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
 
Handout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and DesignHandout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and Design
 
Ooad notes
Ooad notesOoad notes
Ooad notes
 
Oops concepts
Oops conceptsOops concepts
Oops concepts
 
Object Modelling Technique " ooad "
Object Modelling Technique  " ooad "Object Modelling Technique  " ooad "
Object Modelling Technique " ooad "
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
Java Day-2
Java Day-2Java Day-2
Java Day-2
 
Eurodidaweb2012 03-13
Eurodidaweb2012 03-13Eurodidaweb2012 03-13
Eurodidaweb2012 03-13
 
Basic concept of Object Oriented Programming
Basic concept of Object Oriented Programming Basic concept of Object Oriented Programming
Basic concept of Object Oriented Programming
 
Towards the Design of Intelligible Object-based Applications for the Web of T...
Towards the Design of Intelligible Object-based Applications for the Web of T...Towards the Design of Intelligible Object-based Applications for the Web of T...
Towards the Design of Intelligible Object-based Applications for the Web of T...
 

More from Kwangshin Oh

Ruby Programming Language - Introduction
Ruby Programming Language - IntroductionRuby Programming Language - Introduction
Ruby Programming Language - IntroductionKwangshin Oh
 
핀테크 코리아 2014 후기 - 오광신
핀테크 코리아 2014 후기 - 오광신핀테크 코리아 2014 후기 - 오광신
핀테크 코리아 2014 후기 - 오광신Kwangshin Oh
 
CS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsCS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsKwangshin Oh
 
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIsCS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIsKwangshin Oh
 
CS6270 Virtual Machines - Retargetable Binary Translators
CS6270 Virtual Machines - Retargetable Binary TranslatorsCS6270 Virtual Machines - Retargetable Binary Translators
CS6270 Virtual Machines - Retargetable Binary TranslatorsKwangshin Oh
 
CS5261 Group 8 Presentation - US Mobile Industry
CS5261 Group 8 Presentation - US Mobile IndustryCS5261 Group 8 Presentation - US Mobile Industry
CS5261 Group 8 Presentation - US Mobile IndustryKwangshin Oh
 
Jini Network Technology
Jini Network TechnologyJini Network Technology
Jini Network TechnologyKwangshin Oh
 

More from Kwangshin Oh (7)

Ruby Programming Language - Introduction
Ruby Programming Language - IntroductionRuby Programming Language - Introduction
Ruby Programming Language - Introduction
 
핀테크 코리아 2014 후기 - 오광신
핀테크 코리아 2014 후기 - 오광신핀테크 코리아 2014 후기 - 오광신
핀테크 코리아 2014 후기 - 오광신
 
CS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsCS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design Patterns
 
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIsCS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
 
CS6270 Virtual Machines - Retargetable Binary Translators
CS6270 Virtual Machines - Retargetable Binary TranslatorsCS6270 Virtual Machines - Retargetable Binary Translators
CS6270 Virtual Machines - Retargetable Binary Translators
 
CS5261 Group 8 Presentation - US Mobile Industry
CS5261 Group 8 Presentation - US Mobile IndustryCS5261 Group 8 Presentation - US Mobile Industry
CS5261 Group 8 Presentation - US Mobile Industry
 
Jini Network Technology
Jini Network TechnologyJini Network Technology
Jini Network Technology
 

Recently uploaded

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Object-Oriented Programming Concepts

Editor's Notes

  1. 종종 발표자는 주제나 어휘에 익숙하지 않은 청중에게 기술적 성격의 자료를 전달해야 합니다. 자료는 복잡하거나 많은 양의 상세 정보를 나타낼 수 있습니다. 기술적인 자료를 효과적으로 발표하려면 Dale Carnegie Training®의 지침 따라 하기를 이용하십시오. 사용 가능한 시간의 양을 고려하여 자료를 구성하도록 준비하십시오. 주제의 범위를 좁히십시오. 프레젠테이션을 명확하게 부분으로 나누십시오. 논리적으로 진행하십시오. 처음부터 끝까지 요점을 유지하십시오. 요약, 주요 단계의 반복, 논리적 결론으로 프레젠테이션을 끝맺음 하십시오. 청중이 시종일관 집중할 수 있도록 하십시오. 예를 들어, 반드시 데이터는 명확하고 정보는 관련이 있도록 하십시오. 상세 정보와 어휘의 수준이 청중에 적합하도록 유지하십시오. 주요 요점과 단계를 뒷받침 하기 위해 시각적 요소를 사용하십시오. 청중의 욕구에 주의를 기울이십시오. 그러면 청중이 이해하는 데 도움이 될 것입니다.
  2. <number> 소개에서 청중과 주제의 관련성을 전달하십시오. 프레젠테이션의 간략한 시연을 제공하고 이 프레젠테이션이 청중에게 얼마나 중요한지를 입증하십시오. 어휘, 예제, 설명을 선택할 때는 청중의 관심사와 전문가적 지식 수준을 고려하십시오. 주제가 청중에게 중요하다는 점을 강조하면 청중의 주의를 끄는 데 도움을 줍니다.