SlideShare a Scribd company logo
1 of 7
2. 객체지향을 이해합시다

   이 장의 학습 내용
       객체지향에 대하여
       객체들은 어떻게 통신을 할까 ?
       객체들은 다른 객체와 어떤 관계를 가질까 ?
       어떻게 객체들을 결합시킬 수 있을까 ?
       객체지향의 전통적인 시각과 새로운 시각
객체지향을 이해하기에 앞서

   객체지향이란 ? 객체 ( 사물 ) 의 존재방식에 주목하
    여 , 데이터와 그 기능을 일체화하여 다루는 방법
     도대체 무슨 말인지… ???
     상속 , 폴리머피즘 , 캡슐화 … . 이건 또 무슨 말인지 ???
     객체지향은 시작하기 힘들다 . 초보자는 안해도 된다 ???
   주요 의문점들
     객체지향 기술은 보급되어 있는가 ?
     객체지향 기술은 배우기가 정말 어려운가 ?
     객체지향 기술에 의한 개발은 기존의 방법과 어떻게 다른가
      ?
     객체지향 기술을 채용하면 생산성이 향상되는가 ?
     객체지향 기술을 이용하면 , SW 의 성능이 떨어진다는데 ?
객체지향 기술은 보급되어 있는가 ?

   구조적 프로그래밍 언어 : Cobol, C

   객체지향 프로그래밍 언어 : Java, C++, C#

   OODB(Object Oriented Data Base)

   특히 Enterprise Application 에서 광범위하게 사용됨
     상당수의 시스템이 Mainframe 기반 시스템에서 Unix 기반
      Open 시스템으로 Down Sizing 되면서 개발언어를 Java
      등 객체지향 언어로 구현함 .
     Firmware 등 Embedded Application 은 아직 C 등 많이 사
      용.
객체지향 기술은 정말 배우기가 어려운가 ?

   알아야 할 사항은 기존보다 분명 많음
     상속 , 다형성 , 디자인 패턴…

   SW 개발 자체가 비가시적이고 , 추상적이라 어려움 .
객체지향은 기존의 설계 / 개발과 어떻게 다른
    가?

   본질적인 차이는 없음 . 단지 개발의 목표가 늘었을
    뿐

   기존의 방법은 요구되는 기능을 실현하여 , 제대로
    동작하는 소프트웨어를 만든것이 최대의 목표

   하지만 , 객체지향에서는 기존에서 더 나아가 “유지
    보수와 재사용성을 향상시키는 것” 이 목표 (SW 위
    기의 해결 )

   고객의 요구사항은 지속적으로 변경되며 , SW 는 그
    에 유연하게 대응할 수 있도록 설계 / 구현되어야 함
객체지향을 이용하면 개발생산성이 향상되는
    가?

   객체지향을 이용한다고 결코 생산성이 향상되지 않음

   객체지향을 사용하면 생산성이 향상되는 것이 아니
    라 , 객체지향을 이용하여 생산성을 향상시키는 것임
    !

   어차피 객체지향은 도구 ( 수단 ) 이기 때문에 사용하
    는 사람이 그 도구를 어떤 목적에으로 어떻게 사용하
    는가에 따라 결과는 크게 바뀜
객체지향 기술을 이용하면 SW 의 성능이 떨어
    진다는데 ?

   성능은 약간 나빠질수 있지만 , 하드웨어가 진보한
    현재는 거의 신경 쓸 필요가 없다

   그럼 성능의 제약 사항이 발생하는 Embedded 분야
    는?

   Kernal, Device 레이어의 프로그램은 전무 . 하지만
    응용 application 에서는 Java 등이 활발하게 사용되
    고 있는 추세
     구글 안드로이드 기반 애플리케이션

More Related Content

Viewers also liked

우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구Jae Sung Park
 
Demonstration Presentation
Demonstration PresentationDemonstration Presentation
Demonstration PresentationEmily Reyes
 
簡介創用CC授權
簡介創用CC授權簡介創用CC授權
簡介創用CC授權Chou Emily
 
201404 Multimodal Detection of Affective States: A Roadmap Through Diverse Te...
201404 Multimodal Detection of Affective States: A Roadmap Through Diverse Te...201404 Multimodal Detection of Affective States: A Roadmap Through Diverse Te...
201404 Multimodal Detection of Affective States: A Roadmap Through Diverse Te...Javier Gonzalez-Sanchez
 
Social media voor journalisten
Social media voor journalistenSocial media voor journalisten
Social media voor journalistenBart Van Belle
 
Amigos de verdad
Amigos de verdadAmigos de verdad
Amigos de verdaderickadomi
 
How new technologies affect the art of contesting
How new technologies affect the art of contestingHow new technologies affect the art of contesting
How new technologies affect the art of contestingTobias Wellnitz
 
Tabagisme et thrombose habbal
Tabagisme et thrombose habbalTabagisme et thrombose habbal
Tabagisme et thrombose habbalsfa_angeiologie
 
Corporate taxation introduction
Corporate taxation introductionCorporate taxation introduction
Corporate taxation introductiondphil002
 
Mobile Social Media, Sept. 2010, Do You Want To Be Visible?, Marketing Club K...
Mobile Social Media, Sept. 2010, Do You Want To Be Visible?, Marketing Club K...Mobile Social Media, Sept. 2010, Do You Want To Be Visible?, Marketing Club K...
Mobile Social Media, Sept. 2010, Do You Want To Be Visible?, Marketing Club K...Jackson Bond
 

Viewers also liked (19)

우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구
 
201506 CSE340 Lecture 14
201506 CSE340 Lecture 14201506 CSE340 Lecture 14
201506 CSE340 Lecture 14
 
Demonstration Presentation
Demonstration PresentationDemonstration Presentation
Demonstration Presentation
 
201506 CSE340 Lecture 13
201506 CSE340 Lecture 13201506 CSE340 Lecture 13
201506 CSE340 Lecture 13
 
201506 CSE340 Lecture 07
201506 CSE340 Lecture 07201506 CSE340 Lecture 07
201506 CSE340 Lecture 07
 
Cluster 15
Cluster 15Cluster 15
Cluster 15
 
簡介創用CC授權
簡介創用CC授權簡介創用CC授權
簡介創用CC授權
 
201003 Alice (part 1/15)
201003 Alice (part 1/15)201003 Alice (part 1/15)
201003 Alice (part 1/15)
 
201006 its tutorial
201006 its tutorial201006 its tutorial
201006 its tutorial
 
201404 Multimodal Detection of Affective States: A Roadmap Through Diverse Te...
201404 Multimodal Detection of Affective States: A Roadmap Through Diverse Te...201404 Multimodal Detection of Affective States: A Roadmap Through Diverse Te...
201404 Multimodal Detection of Affective States: A Roadmap Through Diverse Te...
 
Team Visit
Team VisitTeam Visit
Team Visit
 
200310 - Apache Web Server
200310 - Apache Web Server200310 - Apache Web Server
200310 - Apache Web Server
 
Social media voor journalisten
Social media voor journalistenSocial media voor journalisten
Social media voor journalisten
 
Amigos de verdad
Amigos de verdadAmigos de verdad
Amigos de verdad
 
How new technologies affect the art of contesting
How new technologies affect the art of contestingHow new technologies affect the art of contesting
How new technologies affect the art of contesting
 
Eeuwigblijvenleren2
Eeuwigblijvenleren2Eeuwigblijvenleren2
Eeuwigblijvenleren2
 
Tabagisme et thrombose habbal
Tabagisme et thrombose habbalTabagisme et thrombose habbal
Tabagisme et thrombose habbal
 
Corporate taxation introduction
Corporate taxation introductionCorporate taxation introduction
Corporate taxation introduction
 
Mobile Social Media, Sept. 2010, Do You Want To Be Visible?, Marketing Club K...
Mobile Social Media, Sept. 2010, Do You Want To Be Visible?, Marketing Club K...Mobile Social Media, Sept. 2010, Do You Want To Be Visible?, Marketing Club K...
Mobile Social Media, Sept. 2010, Do You Want To Be Visible?, Marketing Club K...
 

Similar to Ii.객체지향 1들어가기

소프트웨어설계론
소프트웨어설계론소프트웨어설계론
소프트웨어설계론JeongDong Kim
 
회사에서 기술서적을 읽는다는것
회사에서 기술서적을 읽는다는것회사에서 기술서적을 읽는다는것
회사에서 기술서적을 읽는다는것성환 조
 
[강의] OOP 개요
[강의] OOP 개요[강의] OOP 개요
[강의] OOP 개요Nohyun Kee
 
INNOIZ_UX_YuriLee
INNOIZ_UX_YuriLeeINNOIZ_UX_YuriLee
INNOIZ_UX_YuriLeeYu-Ri Lee
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄현 수
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Suhyeon Jo
 
[14] Material Design 의 철학과 적용 사례
[14] Material Design 의 철학과 적용 사례[14] Material Design 의 철학과 적용 사례
[14] Material Design 의 철학과 적용 사례NAVER Engineering
 
EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다이상한모임
 
격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it goChris Ohk
 
[1D4]오타 수정과 편집 기능을 가진 Android Keyboard Service 개발기
[1D4]오타 수정과 편집 기능을 가진 Android Keyboard Service 개발기[1D4]오타 수정과 편집 기능을 가진 Android Keyboard Service 개발기
[1D4]오타 수정과 편집 기능을 가진 Android Keyboard Service 개발기NAVER D2
 
Computational thinking 을 높히는 초중고 sw교육 발전 방향과 사례
Computational thinking 을 높히는 초중고 sw교육 발전 방향과 사례Computational thinking 을 높히는 초중고 sw교육 발전 방향과 사례
Computational thinking 을 높히는 초중고 sw교육 발전 방향과 사례Bo Seong Seo
 
GloVe:Global vectors for word representation
GloVe:Global vectors for word representationGloVe:Global vectors for word representation
GloVe:Global vectors for word representationkeunbong kwak
 
Data oriented design
Data oriented designData oriented design
Data oriented designSangwook Kwon
 
엔지니어와 함께 일하며 배운 것들
엔지니어와 함께 일하며 배운 것들엔지니어와 함께 일하며 배운 것들
엔지니어와 함께 일하며 배운 것들Hyunjung Kim
 
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기NAVER Engineering
 
엠비즈메이커를 활용한 MCA(mobile computing activity) SW교육 사례
엠비즈메이커를 활용한 MCA(mobile computing activity) SW교육 사례엠비즈메이커를 활용한 MCA(mobile computing activity) SW교육 사례
엠비즈메이커를 활용한 MCA(mobile computing activity) SW교육 사례Bo Seong Seo
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기수보 김
 

Similar to Ii.객체지향 1들어가기 (20)

소프트웨어설계론
소프트웨어설계론소프트웨어설계론
소프트웨어설계론
 
DDD 산책
DDD 산책DDD 산책
DDD 산책
 
회사에서 기술서적을 읽는다는것
회사에서 기술서적을 읽는다는것회사에서 기술서적을 읽는다는것
회사에서 기술서적을 읽는다는것
 
[강의] OOP 개요
[강의] OOP 개요[강의] OOP 개요
[강의] OOP 개요
 
INNOIZ_UX_YuriLee
INNOIZ_UX_YuriLeeINNOIZ_UX_YuriLee
INNOIZ_UX_YuriLee
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄
 
[14] Material Design 의 철학과 적용 사례
[14] Material Design 의 철학과 적용 사례[14] Material Design 의 철학과 적용 사례
[14] Material Design 의 철학과 적용 사례
 
EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다
 
격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go
 
[1D4]오타 수정과 편집 기능을 가진 Android Keyboard Service 개발기
[1D4]오타 수정과 편집 기능을 가진 Android Keyboard Service 개발기[1D4]오타 수정과 편집 기능을 가진 Android Keyboard Service 개발기
[1D4]오타 수정과 편집 기능을 가진 Android Keyboard Service 개발기
 
[Nux]13 nux
[Nux]13 nux[Nux]13 nux
[Nux]13 nux
 
Computational thinking 을 높히는 초중고 sw교육 발전 방향과 사례
Computational thinking 을 높히는 초중고 sw교육 발전 방향과 사례Computational thinking 을 높히는 초중고 sw교육 발전 방향과 사례
Computational thinking 을 높히는 초중고 sw교육 발전 방향과 사례
 
[IT교육/IT학원]Develope를 위한 IT실무교육
[IT교육/IT학원]Develope를 위한 IT실무교육[IT교육/IT학원]Develope를 위한 IT실무교육
[IT교육/IT학원]Develope를 위한 IT실무교육
 
GloVe:Global vectors for word representation
GloVe:Global vectors for word representationGloVe:Global vectors for word representation
GloVe:Global vectors for word representation
 
Data oriented design
Data oriented designData oriented design
Data oriented design
 
엔지니어와 함께 일하며 배운 것들
엔지니어와 함께 일하며 배운 것들엔지니어와 함께 일하며 배운 것들
엔지니어와 함께 일하며 배운 것들
 
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
 
엠비즈메이커를 활용한 MCA(mobile computing activity) SW교육 사례
엠비즈메이커를 활용한 MCA(mobile computing activity) SW교육 사례엠비즈메이커를 활용한 MCA(mobile computing activity) SW교육 사례
엠비즈메이커를 활용한 MCA(mobile computing activity) SW교육 사례
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기
 

Ii.객체지향 1들어가기

  • 1. 2. 객체지향을 이해합시다  이 장의 학습 내용  객체지향에 대하여  객체들은 어떻게 통신을 할까 ?  객체들은 다른 객체와 어떤 관계를 가질까 ?  어떻게 객체들을 결합시킬 수 있을까 ?  객체지향의 전통적인 시각과 새로운 시각
  • 2. 객체지향을 이해하기에 앞서  객체지향이란 ? 객체 ( 사물 ) 의 존재방식에 주목하 여 , 데이터와 그 기능을 일체화하여 다루는 방법  도대체 무슨 말인지… ???  상속 , 폴리머피즘 , 캡슐화 … . 이건 또 무슨 말인지 ???  객체지향은 시작하기 힘들다 . 초보자는 안해도 된다 ???  주요 의문점들  객체지향 기술은 보급되어 있는가 ?  객체지향 기술은 배우기가 정말 어려운가 ?  객체지향 기술에 의한 개발은 기존의 방법과 어떻게 다른가 ?  객체지향 기술을 채용하면 생산성이 향상되는가 ?  객체지향 기술을 이용하면 , SW 의 성능이 떨어진다는데 ?
  • 3. 객체지향 기술은 보급되어 있는가 ?  구조적 프로그래밍 언어 : Cobol, C  객체지향 프로그래밍 언어 : Java, C++, C#  OODB(Object Oriented Data Base)  특히 Enterprise Application 에서 광범위하게 사용됨  상당수의 시스템이 Mainframe 기반 시스템에서 Unix 기반 Open 시스템으로 Down Sizing 되면서 개발언어를 Java 등 객체지향 언어로 구현함 .  Firmware 등 Embedded Application 은 아직 C 등 많이 사 용.
  • 4. 객체지향 기술은 정말 배우기가 어려운가 ?  알아야 할 사항은 기존보다 분명 많음  상속 , 다형성 , 디자인 패턴…  SW 개발 자체가 비가시적이고 , 추상적이라 어려움 .
  • 5. 객체지향은 기존의 설계 / 개발과 어떻게 다른 가?  본질적인 차이는 없음 . 단지 개발의 목표가 늘었을 뿐  기존의 방법은 요구되는 기능을 실현하여 , 제대로 동작하는 소프트웨어를 만든것이 최대의 목표  하지만 , 객체지향에서는 기존에서 더 나아가 “유지 보수와 재사용성을 향상시키는 것” 이 목표 (SW 위 기의 해결 )  고객의 요구사항은 지속적으로 변경되며 , SW 는 그 에 유연하게 대응할 수 있도록 설계 / 구현되어야 함
  • 6. 객체지향을 이용하면 개발생산성이 향상되는 가?  객체지향을 이용한다고 결코 생산성이 향상되지 않음  객체지향을 사용하면 생산성이 향상되는 것이 아니 라 , 객체지향을 이용하여 생산성을 향상시키는 것임 !  어차피 객체지향은 도구 ( 수단 ) 이기 때문에 사용하 는 사람이 그 도구를 어떤 목적에으로 어떻게 사용하 는가에 따라 결과는 크게 바뀜
  • 7. 객체지향 기술을 이용하면 SW 의 성능이 떨어 진다는데 ?  성능은 약간 나빠질수 있지만 , 하드웨어가 진보한 현재는 거의 신경 쓸 필요가 없다  그럼 성능의 제약 사항이 발생하는 Embedded 분야 는?  Kernal, Device 레이어의 프로그램은 전무 . 하지만 응용 application 에서는 Java 등이 활발하게 사용되 고 있는 추세  구글 안드로이드 기반 애플리케이션