2020 TIL no. 5 - Class 복습

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

클래스의 개념

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

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개의 댓글