Python & Ruby

객체 지향 프로그래밍

이번 영상은 길고 다소 어렵습니다. 충분한 시간을 확보한 후에 여유를 가지고 수업에 참여해주세요.

수업 소개

소스코드 (Ruby)

name1 = String.new('egoing')
name2 = String.new('k8805')
puts(name1.reverse())
puts(name2.reverse())
puts(name1.upcase())
puts(name1.size())
names = Array.new()
names.push('egoing')
names.push('k8805')
puts(names)
puts(names.join(','))

 ideone.com

 객체 지향 프로그래밍의 개념

 객체 지향 프로그래밍의 사례

 객체 지향 프로그래밍의 개념

 객체 지향 프로그래밍의 여러 사례

객체 지향 프로그래밍을 어떻게 공부해야 할까?

 

댓글

댓글 본문
작성자
비밀번호
  1. 2017.1.10 완료!
    수업 잘 들었습니다 감사합니다.
  2. blackswan
    고맙습니다!
  3. 폭스킴
    클래스는 추상적이고 개념적입니다.
    인스턴스는 실제적이고, 구체적입니다.
    실제로 스케치북에다 그림을 그려봅시다.
    포유류를 그려보세요~ 그릴 수 있습니까?
    개나 고양이를 그려보세요~ secret 님이 생각하는 개나 고양이를 그릴 수 있습니다.
    이렇게 표현하면 어떨까 합니다.
    인스턴스는 실제적인 정보(데이터값)으로 구체화된 클래스이다.
    대화보기
    • secret
      설명중에 클래스를 포유류에 비유하셨고
      인스턴스는 포유류에 속하는 사람,고양이,개라고 비유하셨는데
      이 후에는 클래스를 복제한것이 인스턴스라고 하셔서
      개념을 잡는데 이해가 잘안갑니다..
      포유류는 상위개념인데 복제하면 왜
      하위개념인 사람,고양이,개가 되죠?
    • 이현정
      감사합니다
    • 환글
      object = class + instance
      class는 설계도, instance는 설계로 실제 사례를 만들어 시간과 공간속에 구현 (메모리 할당)해서 실행될 수 있도록 한 것 이런 개념으로 생각해 봤습니다. 음 ~~ 이걸 동양의 관점에서 본다면 class는 정보를 담고 있는 일종의 天 [천]의 개념이고 instance는 이를 실행하는 地 [지]의 개념인것 같습니다. 이렇게 둘을 분리하면 필요한 것들의 설계도를 가지고 그때 그때 가져다가 만들어 쓸 수 있는 강점이 있는 것 같습니다.
    • JustStudy
      고맙습니다
    • Alteisen
      객체지향이라는 것이 아직 뜬구름 잡기처럼 잘 모르겠네요.
      프로그래밍이라는 것 자체가 생소하다보니, 아무래도 이해하는데 오랜 시간이 걸리는거 같습니다.
      늦은 나이에 시작을 했지만.. 모르는게 너무 많다보니.. 이해를 하려면 계속 반복해서 볼 수밖에 없네요..
    • ironboy
      감사해요^^
      대화보기
      • 잠심일년
        두번째 객체지향 동영상을 보고있습니다. 한번 봤을때는 감을 잡았는데 다시한번 보니 더욱 개념 잡기에 좋은 동영상이라고 생각합니다.
      • 쮸쮸바
        수고 하셨습니다.
        재미있게 잘 따라 하고 있습니다.
      • 천하제일프로그래머
        쉽게 설명할수 없다면 제대로 아는게 아니다 .. 라고 파인만(?) 이 말했는데
        쉬운 설명에 탄복합니다.
        많은 도움이 되고 있어요. 꼭 완주 하겠습니다.
        프로그래밍 배우다가 어려워서 관둔 과거가 있어서
        이 수업 정말 좋아요.
      • 검사무운
        잘 봤습니다. 감사합니다.
        설명하시는 instance 개념이 3D 프로그램의 것과 비슷해서
        이해하는데 어려움은 없었습니다.
        제일 어렵다고 하시는 개념이 제일 쉬웠던것 같네요.
      • Jaeyoon Kim
        혹시 객체, 클래스, 인스턴스의 개념에 대해 보충설명이 필요하신 분은
        이 글을 참고하시면 좋을 것 같아요!

        어린시절 뽑기를 해 본적이 있다면 아래 그림과 비슷한 모양의 뽑기 틀을 본적이 있을 것이다. 뽑기 아저씨가 뽑기를 불에 달군 후 평평한 바닥에 "탁"하고 소리나게 떨어뜨려 넙적하고 동그랗게 만든후에 아래와 비슷한 틀로 모양을 찍어준다. 찍어준 모양대로 깨뜨리지 않고 만들어 오면 아저씨는 뽑기 한개를 더 해 주었다.

        이곳에서 설명할 클래스라는 것이 마치 위 뽑기의 틀(별모양, 하트모양)과 비슷하다. 별 모양의 틀(클래스)로 찍으면 별모양의 뽑기(인스턴스)가 생성되고 하트 모양의 틀(클래스)로 찍으면 하트모양의 뽑기(인스턴스)가 나오는 것이다.

        클래스란 똑같은 무엇인가를 계속해서 만들어 낼 수 있는 설계도면 같은 것이고(뽑기 틀), 인스턴스란 클래스에 의해서 만들어진 피조물(별 또는 하트가 찍혀진 뽑기)을 뜻하는 것이다.

        ※ [참고] 객체와 인스턴스의 차이

        클래스에 의해서 만들어진 객체를 인스턴스라고도 한다. 그렇다면 객체와 인스턴스의 차이는 무엇일까? 이렇게 생각 해 보자. cat = Animal() 이렇게 만들어진 cat은 객체이다. 그리고 cat이라는 객체는 Animal의 인스턴스(instance)이다. 즉 인스턴스라는 말은 특정 객체(cat)가 어떤 클래스(Animal)의 객체인지를 관계위주로 설명할 때 사용된다. 즉, "cat은 인스턴스" 보다는 "cat은 객체"라는 표현이 "cat은 Animal의 객체" 보다는 "cat은 Animal의 인스턴스" 라는 표현이 훨씬 잘 어울린다.

        원문 : https://wikidocs.net/28
      • Jaeyoon Kim
        오랜만에 뭔가를 내가 이해하고 있구나 하고 느끼고 있습니다. 감사합니다.
      • 감사합니다^^
      • Doh_Oon Park
        강의 4. 개념에서 "굉장히 중요합니다"이 한마디 덕분에 좌르르 풀렸습니다. 뜬구름 잡다가 그게 핵심인 줄 이제야 알게 되었습니다.
      • Doh_Oon Park
        이 동영상으로 객체지향에 대한 의문이 많이 풀리네요. 많은 시간을 들였고 책도 보았는데 이영상으로 막연한 것이 좀 정리가 되면서 와닿습니다. OOP는 왜 굳이 인스턴스라는 방법을 사용 하는가? 그 인스턴스를 어떻게 담으려고 딸린식구까지 메모리에 끌어올리는 수고를 하는가? 객체지향에 왜 '메모리'를 자꾸 언급하는ㄱ? 생각해 왔는데 덕분에 개념이 약간 이해 되니까 조금씩 풀리는 느낌이 듭니다. 감사합니다.
      • JunTaek Hong
        쉬운 설명 감사합니다.
      • hana21i
        감사합니다
      • Frank
        고생하셨습니다.
        한걸음 한걸음 배우고 있습니다.
        아직 걸음마도 못땐 수준인데, 열심히 배우겠습니다.^^
      버전 관리
      egoing
      현재 버전
      선택 버전
      graphittie 자세히 보기