OOP in Java

Introduction to the world of software engineering, objectbject– oriented programming and Java

Presentation to the 18th Java User Group Meet Up (JaMU), January 14, 2006

Thomas Wiradikusuma



  • Quick tour on software engineeringing
  • Object-oriented concept
  • Introduction to Java
  • OO approach in Java


To attract newcomers into the field ofof programming and software development,ment, practically using Java as their languagege ofof choice.

Programming Defined

  • Algorithm and Program
  • Programming language
  • A short tour into Software Development Lifecycle (SDLC), fromfrom Waterfall to Iterative Developmentnt

Joys and Woes of Programminging

  • The joys
  • The woes

Program Evolution

Program                      Programmingming  Systemtem

Common Pitfalls

  • Schedule slippage
  • Project objectives slippage
  • Unrealistic budget
  • Lack of documentation
  • Hard to extend

Essence of Modern Systemss

  • Complexity
  • Conformity
  • Changeability
  • Invisibility

Hope for Silver Bullets

  • High-level language advancements
  • Object-oriented programming
  • Graphical programming (diagramming)
  • Incremental and iterative development
  • Rapid prototyping
  • Great designers

Object-oriented Programminging

  • Essence: Abstraction
  • Principals:
  • Encapsulation
  • Inheritance
  • Polymorphism


  • Humans manage complexity through abstractiontraction
  • For example, people do not think a car ass aa setset of tens of thousands of individual parts. TheyThey think of it as a well-defined object with itsts ownown unique behavior
  • A powerful way to manage abstraction is through the use of hierarchical classificationsions (layers)


  • The mechanism that binds together code and thethe datadata itit manipulates
  • Protective wrapper that prevents the code and datadata from being misused outside the wrapper
  • Controlled through a well-defined interface
  • Allows migration of implementation without breakingreaking contract with users of that class
  • In Java, the basis of encapsulation is the class


  • The process by which one object acquiress thethe properties of another object
  • Supports the concept of hierarchical classification
  • Using inheritance, object needs only definene qualities that make it unique. General attributesributes are inherited from its parent
  • The concept of super class and sub class


  • Feature that allows one interface to be usedsed forfor aa general class of actions. The specific actionon isis determined by the exact nature of the situationuation
  • One interface, multiple methods
  • Allows creation of clean, sensible, readablele andand resilient code

Benefits of OO Approachh

  • Objects are more “real-world”
  • Objects provide the flexibility and controll necessary to deal with evolving requirementsents
  • Object use facilitates collaboration
  • Objects help manage complexity
  • Reusability, maintainability and extensibilitylity

Introducing Java

  • A little history
  • Buzzwords: simple, object-oriented, robust,st, multithreaded, architecture-neutral, interpretedpreted and high performance, distributed, dynamicic
  • Java platforms: JavaME, JavaSE, JavaEE

Applied OOP in Java

  • Class as the unit of work
  • Everything but primitive types are objectsts
  • Encapsulation, inheritance and polymorphismhism inin action
  • Interface
  • Design patterns

Being a Programmer

  • Read literatures
  • Exercise
  • Take course in computer science
  • Get involved in actual projects (start from something simple and advancing!)
  • Get involved in discussions/forums (suchh asas Java User Groups)

Berikut video dan file yang bisa membantu materi :