Programming && WEB && APP

프로그래밍 – 클래스, 객체, 인스턴스의 개념

  • 클래스 (Class) 란?
    • 객체 생성을 위한 내용이 담긴 명세서 (설계도)
    • 연관되어있는 메소드와 변수의 집합
  • 객체 (Object) 란?
    • 클래스의 내용을 토대로 구현 대상
    • 클래스의 인스턴스
  • 인스턴스 (Instance) 란?
    • 구현된 각각의 객체
    • 실체화된 객체에 각각의 메모리가 할당된 상태
# 클래스 Monster
class Monster:
    def __init__(self, name, health, damage) -> None:
        self.name = name
        self.health = health
        self.damage = damage
        
        pass
    
    def info(self):
        print(f"{self.name}의 남은 체력 : {self.health} ")
        print(f"{self.name}의 현재 공격력 : {self.damage} ")

    def attack(self, target):
        target.health -= self.damage

    def run(self, target):
        ...

ogre = Monster("Balbos", 500, 50)
goblin = Monster("shylock", 100, 10)
goblin.attack(ogre)
ogre.info()
Monster 클래스를 토대로 만들어진 Monster 객체 ogre, goblin

ogre와 goblin은 각각의 인스턴스

ogre와 goblin은 객체(Monster)를 나타내는 클래스(Monster 클래스)의 2개의 다른 인스턴스

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.