[PYTHON] 바인딩과 다형성

2023. 7. 5. 09:48·PYTHON
#바인딩 - 실제 호출될 함수를 연결하는 것
#정적바인딩 - 호출할 함수를 변수의 타입으로 결정하는 것
#동적바인딩 - 호출할 함수를 인스턴스 공간의 타입으로 결정하는 것


# 다형성
#  - 다양한 형태나 성질
#  - 하나의 객체를 여러 개의 클래스로 표현하는 것을 말한다
#  - 상속이 기본
#  - 클래스를 기능별로 분리하여 통합적인 처리를 하기 위해서 사용된다
#  - 업캐스팅을 바탕으로 이루어진다
#   - 부모의 참조형변수안에 자식클래스의 인스턴스 공간의 정보가 저장되는 형태
  

class Animal:
    
    def __init__(self,name) -> None:
        self.name = name

    def bark(self):
        print("????????")

    def disp(self):
        print("이름 : {}".format(self.name))


class Cat(Animal):
    def __init__(self, name) -> None:
        super().__init__(name)

    def bark(self):
        print("야옹")

    def eat(self):
        print("생선")

class Dog(Animal):
    def __init__(self, name) -> None:
        super().__init__(name)

    def bark(self):
        print("멍멍")

    def eat(self):
        print("뼈다구")


import random

a = None

su = random.randint(0,1)

if su == 0:
    a = Dog("개")
elif su == 1:
    a = Cat("고양이")


a.disp() # - 부모클래스의 고유한기능
a.bark() # - 오버라이드메소드는 자식클래스 우선
a.eat() # - 다른 프로그래밍언어에서는 원래 사용불가
저작자표시 (새창열림)

'PYTHON' 카테고리의 다른 글

[PYTHON] 구글코랩(colaboratory)  (0) 2023.10.12
[PYTHON] 추상클래스  (0) 2023.07.05
[PYTHON] 상속  (0) 2023.07.05
[PYTHON] 클래스(소멸자)  (0) 2023.07.04
[PYTHON] 클래스(Class)  (0) 2023.07.03
'PYTHON' 카테고리의 다른 글
  • [PYTHON] 구글코랩(colaboratory)
  • [PYTHON] 추상클래스
  • [PYTHON] 상속
  • [PYTHON] 클래스(소멸자)
whkim98
whkim98
꾸준히 내 것으로 만드는 게시글을 작성하자
  • whkim98
    내 일기장
    whkim98
  • 전체
    오늘
    어제
    • 분류 전체보기
      • JAVA
      • JavaScript
        • Node
        • React
      • PYTHON
      • GitHub
      • DJANGO
      • Project
        • Insty
        • ERP
      • Cloud
        • NAVER CLOUD Web DevOps
        • Public
      • 자격증
        • SQLD
        • 정보처리기사
        • ADsP
        • 리눅스마스터
        • AWS
      • 코딩테스트
        • 프로그래머스 Lv0
        • 프로그래머스 Lv1
      • Spring
      • Tools
        • Postman
        • eGov
      • WEB
      • CS
      • DevOps
  • 블로그 메뉴

    • 홈
    • GitHub
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    eGov
    React
    javascript
    Cloud
    Tomcat
    html
    CORS
    SQLD
    AWS
    코딩
    node
    AdSP
    Python
    annotation
    js
    django
    정보처리기사
    jsp
    해시 암호화
    코딩테스트
    web
    spring
    RDBMS
    git
    코테
    Postman
    gitbash
    프로그래머스
    github
    Java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
whkim98
[PYTHON] 바인딩과 다형성
상단으로

티스토리툴바