2020 TIL no. 5 - Class 복습

박경연 (돌진어흥이)·2020년 1월 9일

클래스의 개념

프로그래밍을 하는 과정에서 여러가지 데이터(변수)와 이를 활용하는 기능(함수)을 모아놓은 구조

python 클래스의 생성

그저 단어의 첫글자를 대문자로 하여 클래스명을 정해주고 선언해주면된다.

class Human:

init

파이썬의 생성자이다.
생성자란 무엇이냐!? 클래스의 인스턴스가 생성될 때 자동으로 실행되는 기능을 생성자라고 칭한다.

class Human:
  def __init__(self, name, age):
    Human.name = name
    Human.age = age

위의 코드는 휴먼이라는 클래스가 생성될때, 이름과 나이를 받아서 해당 클래스의 속성으로 부여하도록 하는 코드이다.

생성자는 인스턴스 자체를 의미하는 인자인 self를 꼭 첫번째 인자로 받아주어야 한다.

27세인 아이유라는 Human클래스를 생성하기 위해서는 다음과 같이 입력하여야 한다

leejieun = Human('아이유', 27)

만약 Human 클래스를 생성하는데 다음 attribute들을 넣지 않으면 오류를 뱉는다.

>>> Human()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: __init__() missing 2 required positional arguments: 'name' and 'age'
>>> 

메소드 만들기

클래스 내에서 선언되어 사용되는 함수를 메소드라고 한다.
메소드의 선언은 다음과같다.

class Human:
  def __init__(self, name, age):
    Human.name = name
    Human.age = age
  def my_name_is(self) :
    print(f"""my name is {self.name} and I am {self.age} years old.""")

아이유 27세를 휴먼클래스의 인스턴스로 만든 후, my_name_is 메소드를 호출해보자.

>>> a = Human('아이유', 27)
>>> a.my_name_is
my name is 아이유 and I am 27 years old.
profile
Back-end Developer, pursuing to be a steadily improving person.

0개의 댓글