클래스 연습

송용진·2023년 8월 7일
0

알고리즘

목록 보기
154/173
class Human():
  '''사람'''
  
person1 = Human()
person2 = Human()
    
person1.language = '한국어'
person2.language = '영어'

person1.name = '김한국'
person2.name = '김미국'

def speak(person):
	print("{}이 {}로 말합니다.".format(person.name,person.language))

Human.speak = speak

speak(person1)
speak(person2)

클래스

*class 클래스명():

*클래스와 인스턴스를 이용하면
데이터와 코드를 사람이 이해하기 쉽게 포장할 수 있다.

*클래스에 함수를 넣을 수 있다.

class Human():
	'''인간'''
person = Human()
person.name = '철수'
person.weight = 60.5

def create_human(name,weight):
	person = Human()
    person.name = name
    person.weight = weight
    return person
class Human():
  '''인간'''





def create_human(name,weight):
  person = Human()
  person.name = name
  person.weight = weight
  return person

Human.create = create_human

person = Human.create("철수",60.5)

def eat(person):
  person.weight += 0.1
  print("{}가 먹어서 {}kg이 되었습니다.".format(person.name, person.weight))

def walk(person):
  person.weight -= 0.1
  print("{}가 걸어서 {}kg이 되었습니다.".format(person.name, person.weight))

Human.eat = eat
Human.walk = walk

person.walk()
person.eat()
person.walk()

클래스로 현실의 개념을 표현하는 것을 모델링이라고 한다.

class Human():
  '''인간'''
  def create(name,weight):
    person = Human()
    person.name = name
    person.weight = weight
    return person
  def eat(self):
    self.weight += 0.1
    print("{}가 먹어서 {}kg이 되었습니다.".format(self.name, self.weight))

  def walk(self):
    self.weight -= 0.1
    print("{}가 걸어서 {}kg이 되었습니다.".format(self.name, self.weight))

  def speak(self, message):
    print(message)
    

person = Human.create("철수",60.5)

person.speak("안녕하세요.")
'''
메소드(method)

*메소드는 함수와 비슷하다.

*클래스에 묶여서
클래스의 인스턴스와 관계되는 일을 하는 함수를 말한다.
'''
```py
class Human():
  '''인간'''
  def __init__(self,name,weight):
    '''초기화 함수'''
    
    self.name = name
    self.weight = weight
    
  def __str__(self):
    '''문자열의 함수'''
    return "{} (몸무게 {}kg)".format(self.name,self.weight)
    
    return person
  def eat(self):
    self.weight += 0.1
    print("{}가 먹어서 {}kg이 되었습니다.".format(self.name, self.weight))
  def walk(self):
    self.weight -= 0.1
    print("{}가 걸어서 {}kg이 되었습니다.".format(self.name, self.weight))

person = Human("사람",60.5)
print(person)

'''
특수한 메소드
* 초기화 함수: __init__
인스턴스를 만들 때 실행되는 함수

*문자열화 함수: __str__
인스턴스 자체를 출력할 때의 형식을 지정해주는 함수
'''
profile
백엔드 개발자

0개의 댓글