[플레이데이터 빅데이터 부트캠프]Python 클래스(1)

클래스

본인은 class 개념에 관해서, 많은 공간을 활용하여서 정리하려고 합니다.

첫째로, 클래스를 자기소개서에 비유할 수 있습니다.

만약 김사원이 A라는 회사에 지원한 사람들의 자소서를 관리한다고 해봅시다.

김사원은 age나 name이란 변수를 그대로 써서 '자소서'라는 클래스에 저장할 수 있습니다.

클래스의 기초 원리를 코드를 사용하여 설명해 보겠습니다.

class JSS:
	def __init__(self):
    		print('JSS 클래스 선언!')
	def show(self):
    		print('show 실행!')
a = JSS()
a.show()

JSS 클래스 선언!
show 실행!

여기서 init  함수가 아닐 경우에는 a.show()처럼 함수명 뒤에()을 붙여줘야지 실행이 됩니다.

 

self란?

클래스 안에서 저장할 변수를 말하며, 위의 코드에서는 a에 해당합니다.

이제 이름과 나이에 맞게 자소서 클래스를 꾸며보자.

class JSS:
	def __init__(self):
    		self.name = input("이름:")
        	self.age = input("나이:")
	def show(self):
    		print("나의 이름은 {}, 나이는 {}세입니다.".formt(self.name, self.age))
#여기서 input 값을 각각 넣었다고 생각해보자.

a = JSS()
이름 : 홍길동
나이 : 28

a.show()
나의 이름은 홍길동, 나이는 28세입니다.

 

클래스 상속

원본을 그대로 놓아두고, 양식 업데이트할 때 사용한다.

class JSS2(JSS):
	def __init__(self):
    		super()._init__() #이전의 이닛함수를 그래로 쓰고 싶다면, super 함수를 사용한다.
		self.gender = input("성별 : ")
	def show(self):
    		print("나의 이름은 {}, 성별은 {}자, 나이는 {}세입니다.".formt(self.name, self.gender, self.age))
        
a.show()
나의 이름은 홍길동, 성별은 남자, 나이는 26세입니다.

 

참고 URL

'https://www.youtube.com/watch?v=uIcK7-YU8uA'