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. LowCoding
    굿
  2. 나영쓰
    210719
  3. 미뇨르
    210627 완료!!
  4. 정효빈
    잘들었습니다!
  5. 드림보이
    잘 들었습니다...
  6. 용만
    2021년 3월 5일 완료했습니다.
  7. Twayne
    2021.03.02
  8. 열혈방구
    제가 이해한 내용으로 정리해보면.. 맞는가몰랑~~

    Object(객체) -> Class를 통해 실제로 구현하고자 하는 것 ( 함수=메소드 또는 데이터집합)
    Class --> 객체를 생성하기 위한 속성, 특성 등등을 누구나 쓸수 있는 함수+변수로 구현
    Instance --> 클래스의 속성을 이어 받되, 변수를 달리 하는 것.

    string.new(메소드) --> string은 클래스.. string.new(메소드) 전체가 instance. 이것의 결과가 객체
  9. 후니
    완료
  10. Hyunwoo Kim
    210204 감사히 잘 들었습니다.
  11. loveahav
    2021.1.31
  12. Av0cado
    쉽게 생각하면 쉽고 어렵게 생각하면 어렵네요
  13. 이에이
    1월 12일
  14. 이현수
    20.12.18
  15. 윤유상
    객체지향언어에는 Class(String, Array 등)가 있다. 우리는 Class에 변수를(강의에선 egoing, k8805 등) 지정하고, 객체 내에서 함수역할을 하는 Method를 붙여 우리의 Instance를 만든다. Instance의 역할은 Class와 같지만 각 Instance에 지정된 변수는 우리가 정한다. 어려운 개념이지만 잘 설명해주신 덕분에 얼추 이해한 것 같습니다 ㅎㅎ 감사합니다!
    그런데 객체지향언어가 아닌 언어는 어떻게 작동하는지 궁금하네요. C언어를 배워보면 알 수 있을까요?
  16. 홍주호
    20.12.7
  17. 양민
    11/14
  18. cgoing
    cgoing / 2020.09.28
  19. 허우룩
    2020.09.23
  20. acs0209
    인스턴스가 클래스를 복제해서 만든거잖아요? 그러면 클래스에 있는
    변수와 함수들은 각각의 인스턴스 마다 갖겠죠 근데 다른게 강의에서
    각각의 인스턴스들은 함수는 같지만 변수는 다르다라고한게 각각의
    인스턴스는 ()안에 있는 값들이 다르다 라는 소리인가요?
    대화보기
    • acs0209
      2번째 흐미 어렵다 ㅠ
    • 캄바캄바
      PlayerSEAN님 따라잡기
      2020/08/18 완료
    • PlayerSEAN
      쿠키앤크림님 따라잡기 ㅋㅋ
      2020/08/02 완료
    • 쿠키앤크림
      pupu님 따라잡기
      2020/07/03 완료
    • 허클베리핀
      20.6.2_완료
    • 김광현
      6/2완료
    • 라이찡뀨
      생각보다 쉽내요 저 좀 천잰듯 ㅋㅋ
    • 라이찡뀨
      급나게 많은데 클리어 가능...?
    • 맥반장
      2020.03.26 완료
    • oxugi
      2020.03.19 완료
    • 악어
      2020.02.29 완료
    • riversik
      2020.02.17
      완료
    • 도전차차차
      완료
    • 정 준상
      2019/10/13
      김민수씨가 정리해 놓은 것도 유용하게 쓰이네요.
      감사합니다.
    • 가재준
      완료
    • FIRE
      20190819 완료
    • 허니비
      190807
    • dongrami
      확실히 파이썬수업을 자바를 듣고와서 들으니 이해가 아주잘되네요.
      이고잉님께서 수업하신 자바수업에서 객체지향에대한 메커니즘이 잘 정리된거 같습니다.
      이해가 너무안되시는분들은 자바도한번 들어보시는걸 추천드림!
    • prezmo
      질문이 있습니다. 위 사례 부분에서 name1.reverse()로 name1에 저장된 문자열을 반대로 출력하는 것을 보여주셨는데 그것처럼 인스턴스에 .을 붙여 함수를 호출하는 것과 함수를 호출해 매개변수로 name1을 사용하는 것과 어떤 차이점이 있는지 궁금합니다. 둘 다 차이 없이 사용할 수 있는 건지 궁금해서 아톰으로 간단하게 아래와 같은 파이썬 코드로 확인해보니 차이점이 있는것 같더라고요
      1) num = '20'
      num.int()
      2) num = '20'
      int(num)
      1)번은 오류가 나고 2)번 만 제대로 실행이 되더라고요. 어떤 차이가 있는 건지 궁금합니다! 혹시 이게 내장함수 외장함수 차이인가요??
    • Ray Kim
      어.. 드디어 머리에 한계가.. 이럴 때일수록!!! 더 열심히 해야겠죠!
    • 김민수
      객체지향언어
      object orieted programing
      객체로 기본단위를 나눈 후 객체들의 상호작용으로 서술하는 방법

      object
      class+instance
      class:포유류
      instance:포유류에 속하는 것(사람, 개, 고양이)

      class의 복제 -> 인스턴스

      인스턴스는 class의 함수와 변수를 복제하여 가지고있다
      다만 인스턴스는 class에서 복제한 그대로가 아닌 각 인스턴스만의
      변수를 가진다.

      name = string.new("egoing")
      여기서 string 이란 class 의 개념
      string.new(메소드) 로 불러낸 인스턴스이다.

      클래스: 객체를 생성하기위해 객체들의 공통된 속성 특징들을 모아놓은 하나의 설계도
      내장함수: 프로그램 자체에 내장된 함수로써 바로 사용가능함 일반적으로 str()처럼 괄호가 있음.

      외장함수: 라이브러리에 존재하는 함수로써 호출하여 사용가능함 list.append()에서 list는 클래스
      append 부분이 외장함수로 볼수있다.

      메소드: 클래스내부에 구현된 함수를 메소드라고 한다

      인스턴스: 클래스의 속성을 지닌 객체(클래스를 통해 실제로 구현된 실체가 인스턴스)

      객체와는 달리 클래스와의 관계 (포유류에는 고양이가 있다=> class
      고양이는 포유류에 속한다 => 인스턴스) 위주로 설명한다.

      객체: 하나의 역할을 수행하는 메소드 또는 데이터의 묶음, 소프트웨어 세계에 구현될 대상(미구현)

      객체(Object)는 현실의 대상(Object)과 비슷하여,
      상태나 행동 등을 가지지만, 소프트웨어 관점에서는 그저 콘셉에 불과하다.
      소프트웨어에서 객체를 구현하기 위해서는 콘셉 이상으로 많은 것들을
      사고하여 구현해야 하므로, 이를 위한 설계도로 클래스를 작성한다.
      설계도를 바탕으로 객체를 소프트웨어에 실체화 하면 그것이 인스턴스(Instance)가 되고,
      이 과정을 인스턴스화(instantiation)라고 한다. 실체화된 인스턴스는 메모리에 할당된다.
    • 얼그레이
      절반쯤 온 기분이네요! 감사합니다 :) 190603
    • Sunday
      감사합니다.
    • hs4351
      190518완료 감사합니다
    • Hotak Choi
      190420
    • wiseman
      1904191330
    • 19.04.14 완료
    • huyk
      190404완료! 감사합니다
    • 호두
      고맙습니다.
    • 주니
      알듯 말듯...

      감사합니다..^^
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기