오늘 밤 부터 쓰 는 google analytics ( 구글 애널리 틱 . .. by Yongho Ha 51517 views 
 ES 2015 / ES 6 : Basics of modern Java . .. by Wojciech Dzikowski 3980 views 
 ES 6 : The Awesome Parts by Domenic Denicola 54964 views 
 Lecture 3 - ES 6 Script Advanced for . .. by Kobkrit Viriyayud . .. 1822 views 
 ES 6 in Production [ JSConfUY 2015 ] by Guillermo Paz 1157 views 
 ES 2015 ( ES 6 ) Overview by hesher 20253 views 
 객체 지향 의 개념 을 명시 적 ( definitive ) 으로 정의 하 고 설명 하 고 , 
 구조 적 방법 과 비교 한 발표 자료 입니다 . 
 592 j ’ aime 
 SeunghunShin 9 
 1 . 객체 지향 개념 Object Orientation 쫌 아 는 체 하 기 ( 궁서체 ) 이 승 준 fb . com / plusjune 
 2 . 오늘 이야기 주제 : “ 객체 지향 ” 개념 ( 어렴풋이 알 았 던 ) 목표 : 딴 데 가 서 쫌 아 는 체 하 기 
 3 . 사람 은 포유 류 에 속하 는 동물 임 사람 이 다른 동물 과 구별 되 는 , 고유 한 특징 은 ? . . 
 4 . 재미있 는 동물 의 세계 부터 시작 해 보 죠 . 
 5 . 마모셋 원숭이 들 , ' 박스 뚜껑 여 는 방법 ' 이 담긴 교육 비디오 를 보여준 다음 박스 를 줬 더니 , 비디오 에서 보 고 배운 대로 박스 뚜껑 을 열 었 다 
 6 . 도구 사용법 을 서로 배우 는 앵무새 들 
 7 . 버섯 농사 짓 는 잎 꾼 개미 5 천만 년 전 부터 농사 시작 인류 는 겨우 ( ? ) 1 만 년 전 부터 심지어 농약 도 만든다 능 @.@ 
 8 . 빵 조각 으로 낚시 하 는 해오라기 
 9 . 혼자 서 도 잘 노 는 강아지 
 10 . 호모 사피엔스 호모 파베르 호모 루덴스 생각 도구 놀이 
 11 . 호모 사피엔스 호모 파베르 호모 루덴스 생각 도구 놀이 사람 만 의 전유물 이 아니 라 능 … 
 12 . 진정한 고유 의 특징 ? 다른 동물 과 구별 되 는 , 사람 만 이 가진 
 13 . 그것 은 바로 , “ 상징 체계 ” 를 만들 고 공유 하 는 하 는 능력 
 14 . 그것 은 바로 , “ 상징 체계 ” 를 만들 고 공유 하 는 하 는 능력 언어 문자 수학 음악 
 15 . 그것 은 바로 , “ 상징 체계 ” 를 만들 고 공유 하 는 하 는 능력 사람 은 , 상징 체계 를 만들 고 , 발전 시켜 다음 세대 에 물려 줍니다 . 언어 문자 수학 음악 
 16 . 그것 은 바로 , “ 상징 체계 ” 를 만들 고 공유 하 는 하 는 능력 사람 은 , 상징 체계 를 만들 고 , 발전 시켜 다음 세대 에 물려 줍니다 . 언어 문자 수학 음악 이것 을 가능 하 게 하 는 것 , 바로 “ 추상 ” 화 하 는 능력 입니다 . 
 17 . abstraction 抽象 
 18 . 피카소 ( ? ) 추상화 ( ? ) , 어려운 것 ? abstraction 抽象 
 19 . 피카소 ( ? ) 추상화 ( ? ) , 어려운 것 ? abstraction 抽象 
 20 . abstraction 코끼리 상 모양 상 抽象 뽑아낼 추 대상 으로부터 , 모양 을 뽑아내 는 것 
 22 . “ 추상 ” 들 을 만들 고 , 공유 하 고 , 발전 시키 는 능력 이 능력 이 야 말 로 다른 동물 과 구별 되 는 , 사람 만 이 가진 고유 한 능력 이 라고 할 수 있 습니다 . 
 23 . 객체 지향 에 대해 이야기 하 려던 거 아니 었 나요 ? 무신 소리 하 는 거 야 ? 
 24 . 본론 으로 돌 아 가 서 . .. 
 25 . 객체 지향 客體 指向 Object Oriented 
 26 . 우선 사전 을 찾 아 봅니다 . 객체 ( 客體 ) : 작용 의 대상 이 되 는 쪽 지향 ( 指向 ) : 어떤 목표 로 뜻 이 쏠리 어 향함 ( 네이 * 국어사전 ) 
 27 . “ 객체 지향 ” 이 라 . . 음 … 객체 는 … 구체 적 인 대상 지향 ( 指向 ) . . 향한다 객체 를 향해 간다 ? 객체 를 추구 한다 ? 
 28 . “ 객체 지향 ” 이 라 . . 음 … 객체 는 … 구체 적 인 대상 지향 ( 指向 ) . . 향한다 객체 를 향해 간다 ? 객체 를 추구 한다 ? 여기 서 말 하 는 oriented 는 방향 성 ( X ) 
 29 . Oriented 은 “ 위주 ” 혹은 “ 선호 ” 라고 하 는 것 이 더 잘 어울립니다 . 예 를 들 어 , 안주 Oriented 란 ? 술 은 안 마시 고 안주 만 먹 는 
 30 . 나름 다시 정리 해 봅니다 . 객체 ( 客體 ) : 객관적으로 존재 하 는 실체 지향 ( 指向 ) : → 위주 ( 爲主 ) , 주 되 는 것 으로 삼 는 것 
 31 . Object Oriented , " 객체 위주 " 라고 이해 하 는 것 이 훨씬 편합니다 . 
 32 . • Object Oriented Analysis , 객체 갖 고 분석 하 다 • Object Oriented Design , 객체 갖 고 설계 하 다 • Object Oriented Programming , 객체 갖 고 프로그램 하 다 Object Oriented , 한마디 로 " 객체 갖 고 놀 자 " 
 33 . 객체 지향 키워드 5 ( 쫌 아 는 척 가능 하 게 하 는 ) 클래스 ( class ) , 오브젝트 ( object ) 캡슐 화 ( Encapsulation ) 상 속성 ( Inheritance ) 다 형성 ( Polymorphism ) 
 36 . 추상 abstraction ( 다시 한 번 ) 추상 은 사용 자 가 구체 적 인 내용 을 생각 하 지 않 고 도 사용 할 수 하 는 기능 • 프로 시 져 추상화 ( Procedural abstraction ) : 함수 • 데이터 추상화 ( Data abstraction ) : 구조 체 , 배열 , 포인터 
 37 . 정의 2 . 오브젝트 ( object ) 는 클래스 의 인 스턴스 ( instance ) 이 다 오브젝트 는 instance of class 입니다 . 즉 , 클래스 가 실체 로 만들 어 진 것 이 죠 . 
 38 . 클래스 와 오브젝트 멍멍이 초롱 이 누렁 이 점박이 우리 집 외가댁 옆집 클래스 ( class ) 공통 특징 , 서술 오브젝트 ( object ) 구체 , 실제 존재 , 고유 성 
 42 . 오브젝트 는 데이터 와 데이터 에 대한 조작 의 묶 은 것 입니다 . 오브젝트 의 모양 은 클래스 ( class ) 에 서술 되 어 있 죠 . 
 44 . ( 리뷰 ) 클래스 와 오브젝트 정의 1 . class : 표현 대상 에 대한 description 정의 2 . object : instance of class 
 45 . 다음 세 가지 특성 을 지원 하 는 언어 를 객체 지향 프로그래밍 언어 라고 합니다 . ① 캡슐 화 ( encapsulation ) ② 상 속성 ( inheritance ) ③ 다 형성 ( polymorphism ) 
 47 . 캡슐 화 ( encapsulation ) • 캡슐 화 는 “ 데이터 + 데이터 에 대한 조작 ” 을 묶 는 것 • 관련 있 는 것 을 묶 어서 생각 하 는 것 은 매우 자연 스러운 일 묶 어서 이름 을 부여 하 는 것 , 바로 추상화 ( abstraction ) 입니다 . 
 50 . Dog Poodle 썰매개 Bulldog Samoyed 상속 성 은 계보 ( 계층 ) 의 의미 도 있 습니다 . 썰매개 IS - A Dog 
 51 . Dog Poodle 썰매개 Bulldog Samoyed 새로운 개념 등장 기존 클래스 와 구분 되 는 특징 만 기술 하 여 추가 합니다 . 
 52 . Dog Poodle 썰매개 Bulldog Husky IS - A 썰매개 Samoyed Husky Husky 추가 Dog 과 썰매개 의 특징 을 그대로 물려받 습니다 . ( 재사용 , 유연 성 ) 썰매개 IS - A Dog 
 56 . ( 리뷰 ) 캡슐 화 , 상 속성 , 다 형성 정의 3 . 캡슐 화 : Data + operation on data 정의 4 . 상 속성 : 상속 계층 을 따라 특성 ( data , operation ) 을 공유 정의 5 . 다 형성 : 다양 한 형태 에 동일 한 명령 을 사용 
 58 . 가장 대표 적 인 프로그래밍 패러다임 두 가지  구조 적 프로그래밍 Structured Programming ( 파스칼 , C )  객체 지향 프로그래밍 Object Oriented Programming ( 자바 , C ++) OOP 
 59 . 구조 적 ( Structured ) 에 츠 허 르 데이크스트라 Sequence , Alternative , Iteration Divide and quanquer Top - down design Pascal , C 객체 지향 ( Object - Oriented ) 앨런 케이 Class , object Encapsulation , Inheritance , Polymorphism Simula 67 , Smalltalk , C ++, Java 
 60 . 에 츠 허 르 데이크스트라 Edsger Wybe Dijkstra , 네덜란드 의 컴퓨터 과학자 , 1972 년 튜링상 수상 • ( 모든 고 수준 언어 의 조상 ) 인 ALGOL 개발 ( ’ 50 년 대 말 ) • ( 1968 ) [ Goto Statement Considered Harmful ] [ 소프트웨어 공학 ] 과 Structured Programming 시대 를 여심 • [ 데이크스트라 알고리즘 ] , 처음 으로 최 단거리 알고리즘 을 학문 적 으로 연구 • [ 세마포어 ] 의 개념 사용 , 운영 체제 의 영역 까지 지대 한 영향 • 1972 [ Turing Award ] 수상 " Can machine think ? " ( 기계 가 생각 을 할 수 있 을까요 ? ) 데이크스트라 교수 는 대답 대신 반문 했 다 . " Can submarine swim ? " ( 잠수함 은 헤엄칠 수 있 을까 ? ) ( 1930 ~ 2002 ) 
 61 . 앨런 케이 Alan Curtis Kay 미국 의 컴퓨터 과학자 • 이반 서덜랜드 와 함께 스케치 패드 개발 ( 1960 년 대 유타 대학교 ) • 제록스 파크 ( PARC ) 에서 Smalltalk 개발 ( 70 년 대 ) • 객체 지향 프로그래밍 을 개척 한 공로 로 튜링상 ( 2003 ) 미래 를 예측 하 는 가장 좋 은 방법 은 미래 를 발명 하 는 것 이 다 . ( The best way to predict the future is to invent it . ) ( 1940 ~ ) 
 62 . Smalltalk , “ SW 시스템 ”  Smalltalk 의 목표 는 프로그래밍 을 하 지 않 아도 되 는 시스템 을 만드 는 것 이 아니 라 , 누구 라도 쉽 게 프로그래밍 을 할 수 있 는 환경 을 만드 는 것  Smalltalk 는 현대 대부분 객체 지향 언어 의 조상  Smalltalk 를 개발 한 알토 워크스테이션 은 최초 의 GUI 시스템 이후 다른 컴퓨터 시스템 들 이 GUI 에 지대 한 영향  Smalltalk 는 SW 시스템 ( 프로그래밍 언어 , 개발 환경 , 라이브러리 로 구성 ) Smalltalk - 76 User Interface 
 63 . Object Oriented Programming Languages cs . washington . edu cse 341 진짜 원조 OOP 원조 OOP 
 64 . 객체 지향 과 시뮬레이션 의 관계 ? 최초 의 객체 지향 언어 “ Simula 67 ” 는 시뮬레이션 을 위해 만들 어 진 언어 • Class , object 등 의 개념 은 모두 실세계 를 어떻게 묘사 할 것 인가 에 출발 • 실제 , 객체 지향 분석 / 설계 는 현실 세계 를 시뮬레이션 한다는 관점 에서 진행 
 65 . 객체 지향 의 장점 1 . 자연 스런 모델링 ( Natual Modeling of Problem ) 2 . 생산 성 향상 ( Higher Productivity ) 3 . 점진 적 개발 ( Incremental Development ) 4 . 견고 한 의미 적 모델링 ( Stable Semantic Modeling ) 5 . 명확 한 인터페이스 기술 ( Clear Interface Description ) 6 . 보안 ( Secure System ) 7 . 유지 보수 의 용이성 ( Better Maintainability ) 뭔지 모르 겠 지만 좋 다는 이야기 같 음 
 67 . 분석 / 설계 구조 적 ( Structured )  기능 적 분할 ( functional decomposition )  절차 중심 ( procedure - oriented )  처리 위주 - 프로세스 의 계층 에 초점  데이터 가 드러남 , 단일 성 , 1 회 사용 , 순차 적 인 알고리즘 위주 객체 지향 ( Object - Oriented )  객체 와 객체 간 역할 과 관계 중심  객체 중심 ( Object Orientation )  데이터 감추 기 - 행위 만 보여진다 .  모듈 화 가 자연스레 달성 , 재 사용 성 , 순서 없 는 메시지 기반 
 68 . 객체 지향 분석 / 설계 1 ) 문제 영역 에서 배우 ( actor ) 를 찾아내 고 2 ) 각 배우 들 의 책임 과 역할 을 정의 하 고 3 ) 배우 들 간 의 관계 를 지정 하 고 4 ) 각 배우 들 에 대한 대본 ( script ) 를 쓴다 . 
 69 . 객체 지향 분석 / 설계 방법 론 요약 식별 하 고 일반 화 하 고 ( object , class ) , 대상 들 간 의 관계 ( inheritance , embedded ) 를 설정 하 고 , 상호 작용 하 도록 ( behavior ) 한다 . 
 70 . Iteration Planning Requirements Capture Analysis & Design Implementation Test & Release 폭포수 모델 ( Waterfall model ) 나선 모델 ( Spiral model ) 요구 분석 분석 설계 구현 대표 적 개발 모델 
 71 . ( 리뷰 ) 구조 적 프로그래밍 , 객체 지향 프로그래밍 • 구조 적 프로그래밍 : 기능 , 절차 중심 • 객체 지향 프로그래밍 : 객체 , 관계 중심 
 72 . ( 리뷰 ) 기본 개념 • 객체 지향 : 객체 위주 , 즉 “ 객체 갖 고 놀 자 ” • 클래스 ( class ) : 표현 대상 에 대한 description • 오브젝트 ( object ) : instance of class 
 73 . ( 리뷰 ) 객체 지향 의 핵심 개념 • 캡슐 화 : Data + Operation on data • 상 속성 : 상속 계층 을 따라 특성 ( data , operation ) 을 공유 • 다 형성 : 다양 한 형태 에 동일 한 명령 을 사용 • 메시지 전달 ( message passing ) : 객체 간 에 메시지 를 주 고 받 아 실행 캡슐 화 ( 추상 화 능력 ) , 상 속성 ( 분류 하 는 능력 ) , 다 형성 ( 같 은 방법 으로 다루 기 ) 메시지 전달 ( 실존 하 는 객체 들 이 상호 작용 ) 객체 지향 은 사람 의 추상 능력 , 인식 방법 에 가까운 개발 방법론 
 74 . 객체 지향 을 한마디 로 정의 하 면 , " 사람 이 세계 를 보 고 이해 하 는 방법 을 흉내 낸 방법론 " 
 75 . 이승준 fb . com / plusjune 
 ES 6 in Production [ JSConfUY 2015 ]