1 / 17

OOP

OOP. Department of Computer Engineering WoongJin Han. Reference. 성공과 실패를 결정하는 1% 의 객체 지향 원리 성안당 Akira Hirasawa 저 . Contents. History of Programming Software Crisis 진화 방향. History of Programming. Machine Language Assembly Language High-Level Language Structured Programming OOP.

ethan-goff
Download Presentation

OOP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OOP Department of Computer Engineering WoongJin Han

  2. Reference • 성공과 실패를 결정하는 1%의 객체 지향 원리 • 성안당 Akira Hirasawa저

  3. Contents • History of Programming • Software Crisis • 진화 방향

  4. History of Programming • Machine Language • Assembly Language • High-Level Language • Structured Programming • OOP

  5. Machine Language • 컴퓨터가 처음 등장한 1940년대 • 2진수 or 16진수 표현 • 예제 • A10010 • 8B160210 • 01D0

  6. Assembly Language • 기계 언어를 기호로 표현 • Assembler • 예제 • MOV AX, X • MOV DX, Y • ADD AX, DX • MOV Z, AX

  7. High-Level Language • 복수의 기계언어를 인간이 알기 쉬운 형식으로 표현 • 서브루틴 (Subroutine) 사용 • Compiler • FORTRAN(1957년), COBOL(1960년) • 예제 • Z = X + Y

  8. “Software Crisis” • NATO 국제회의에서 선언 • 1968년 독일에서 • “소프트웨어 위기” 선언 내용 • 20세기 말에는 세계 총인구가 모두 프로그래머가 되어도 증대하는 소프트웨어의 수요를 따라갈 수 없는 상태가 된다.

  9. Structured Programming 1 • 기본 3구조 (제어문) • 순차 진행 • 조건 분기 : if~else • 반복 : for • GOTO 없는 프로그램 • 스파게티 코드 방지

  10. Structured Programming 2 • 서브루틴 독립성 강화 • 전역변수 문제 • 지역변수 사용 및 인수 전달로 해결 • 대표 언어 • PASCAL • C언어

  11. 구조적 프로그래밍의 한계 • 기능 중심적 분석및 설계 • 자료구조의 공유 • 재사용의 어려움

  12. 객체지향 프로그래밍 (OOP) • 대상 중심적 분석및 설계 • 자료구조를 클래스 별로 관리 • 재사용 용이

  13. 진화 방향 • 높은 생산성 • 유지 보수성 • 재사용성 중시 • PC성능 향상 • 새로운 기술 실현 가능

  14. OOP 1 • Object Oriented Programming • Class • Encapsulation (자료은닉, 블랙박스화) • Polymorphism (다형성) • Inheritance (상속)

  15. OOP 2 • History • 1967년 Simula67 • 당시 H/W성능 부족으로 연구용. • 1980년 Smalltalk • C++로 GUI Library개발 • 대표 언어 • C++  Java  C#

  16. 프로그램의 계보

  17. Thank you

More Related