클래스 : 함수 , 변수들의 합
오브젝트 : 클래스를 이용해서 만들어낸 물체
클래스 == 빵 만들 때 빵 틀
오브젝트(인스턴스) == 빵
self.name = name이라는 이미 만들어진 변수를 불러와서 self 오브젝트 안에 넣는 것
사람 3명을 예로 들어보자
각각의 이름들을 받아와서 나는 누구누구다 라는 프로그램을 짜고 싶을때
name 이라는 변수를 , person() object를 만들때 할당하고싶으면 여기서 __init__ 함수를 써야함
__init__함수는 self를 첫 인자로 받고 그다음 새로쓸 변수들을 설정 해줄수 있다
즉 미리 만들어진 person() 이라는 클래스에 , 객체를 만들때 __init__ 함수를 써서, 값을 받아오고, 그 값을 통해 이제 person() 안에 종속된 오브젝트가 아무 def나 쓸수 있는데, 그 def에도 값을 넣어서 다르게 가공이 가능하다는 뜻.
__init__ 은 initialize에서 온 것
person() 이라는 오브젝트를 만들때, name이라는 변수를 받아서, name 안에 그 값을 넣어라 라는 뜻
참고로 문자열 -> int , int -> string 바꾸는걸 casting 이라고 함
Inheritance (상속)
상속은 공통된 클래스가 하나있고, 그 밑에 쬐끔 다른 클래스를 새로 만들고 싶을때 씀
위와같이, Wayne, Ji, Joshua 모두 직업이 다름으로, 각각 할수 있는게 다르다. 이럴경우, class 안에 inheritance 해가지고 분류 해서 다르게 print out 가능
왜? person class에는 종속이 되어 있으니까, 그 밑에 종속된 class 에 person 값을 넣어줘야 제대로 작동함
즉 person(): 클래스 넣고 그 밑에 종속 된 클래스 안에 person 값을 넣어야, 제대로 그 inheritanced 된 class 가 동작 하는 것. person(): 에다가만 value 를 넣으면, inheritance 된 값에 value 가 안들어가서 에러가 나는 것임
= 무조건 젤 밑에 있는거 기준
그리고 상속 된 class 는 자동으로 상속 하게 된 class의 def, fuction들을 모두 쓸 수 있음.
즉, 상속을 안하는 방식으로 가고싶다? 그러면 그 클래스 하나에다가 person()에 들어있는 def 및 모든 벨류를 쓰면 고대로 작동 한다는 말임
'Service > Coding' 카테고리의 다른 글
Google Python Automation Certification - Week 2 (0) | 2022.02.01 |
---|---|
Google Python Automation Certification - Week 1 (0) | 2022.02.01 |
코딩 1시간 워니 - 3 (0) | 2021.12.27 |
코딩 1시간 워니 - 2 (0) | 2021.12.26 |
코딩 1시간 워니 - 1 (0) | 2021.12.10 |