안녕하세요 오늘은 파이썬 class에 대해 기초 총정리 해보는 시간을 가져 보겠습니다.
class란 파이썬의 함수를 모아놓은곳 이라고 생각하시면 좋을것 같습니다.
class 기본 사용법은 간단합니다.

우선 class라는것을 적고 그뒤에 Class 이름을 적고, 클래스 안에는 __init()이라는 함수를
정의 해주어야 합니다. 그다음 전달 인자에는 무조건 self 가들어 가야합니다.
__init__은 클래스를 처음 실행하면 실행되는 함수라고 보시면 될것 같습니다.
그니까 다시말하면 클래스만 호출해도 __init__함수도 같이 호출 되는 느낌 이랄까?
이 init이라는 뜻이 "시작하다" 라는 뜻이라는 뜻인것은 추가로 꿀팁 입니다.
self는 자기 자신을 의미 합니다. 예제로 설명 해보겠습니다.

이런 코드가 있다고 생각해 봅시다. 그럼 저렇게 클래스만 호출하면 __init__이 호출된
다는것은 알고 있을것이고, 근데 저희는 화남이라는 감정을 추가 하고 싶습니다.
그럼 저희는 어떻게 해야 할까요? 나중에 배울 멤버 변수를 사용해야 합니다.
맴버 변수를 사용하면 다음과 같이 됩니다.

그러면 우선 맴버 변수라는 것은 나중에 알아보고, 이곳에서 emotion_bot이 self가 되는것 입니다.
음... 이해가 잘 안되시면 아래 맴버 변수를 먼저 보고 와주세요!!
멤버 변수란 클래스 안에서 변수를 생성 해주는것 입니다.
우선 제가 감정을 알려주면 그 감정의 대한 대답을 해주는 봇을 만들었습니다.

그리고 이봇은 현재 잘 작동이 됩니다. 근데 저희는 한 의문점이 듭니다. 두번째 함수 emotion_show에서는 전달값이 self 밖에 없습니다. 근데 어떻게 self.happy, self.angry, self.hungry를 사용할수있었을까요?
그것은 바로 멤버 변수 덕분입니다. 멤버 변수란 클래스 안에서 변수를 사용할수있게 해주는 역활도 합니다.
상속이란 저희는 흔히 부모가 자식한테 재산같은것을 물려줄때 상속이라고 하죠?
파이썬에서 거의 비슷합니다. 부모 클래스에 정의된 멤버 변수를 상속 해줍니다.
저희는 emotion 클래스의 업데이트 버전을 만들어 보겠습니다.

이런식으로 상속을 할수있습니다. 처음 __init__ 함수의 멤버 변수를 보면, 새로 추가된 sad만 정의한걸 볼수있습니다.
그리고 위에는 super().__init__(angry, happy, hungry)가 있습니다.
이문장의 뜻은 emotion 클래스에서 angry, happy, hungry를 상속한다는것을 말해준는 것 입니다.
끝!
| [파이썬] socket 모듈에 대해 알아보자!(getaddrinfo, getfqdn, gethostbyname, gethostname , getprotobyname, getservbyname) (0) | 2023.11.05 |
|---|---|
| [파이썬] socket 프로그래밍 개념 (1) | 2023.10.19 |
| [파이썬] 파일 입출력(with, pickle) (0) | 2023.09.07 |
| [파이썬] 표준 입력과 출력과 에러 개념/파이썬 (0) | 2023.09.04 |
| [파이썬] 함수 (0) | 2023.08.31 |