Computer Science/Python :: 파이썬

JavaScript 유저 Python 배우기 :: 클래스, 인스턴스, 상속, 객체

HJPlumtree 2021. 11. 26. 12:17

엘리스의 도레미 파이썬에서 배운 내용

 

 

class(클래스)

class는 붕어빵 기계의 틀이라고 생각하자

 

사용법은 자바스크립트와 비슷해 보인다

 

클래스 사용 예시

파이썬에서 메서드 만들려면

self를 넣어주면된다

self 없어도 작동하지만 관례처럼 붙인다고 한다
예전에는 안돌아갔다는 이야기
class Human:
    name = "Bob"
    age = 10
    
    # 메서드
    def exercise(self):
    	print("축구")

 

 

this 대신 self

자바스크립트에서는 프로퍼티를 가져오려면 this를 사용했다

여기서는 메서드 만들어줄 때 사용한 self를 사용하는가보다

self 사용 예시

class Bbread:
    taste = "밀가루"
    def eat(self):
    	# this 대신 self
        print(self.taste, "맛이 나요!")

redBean = Bbread()
choux = Bbread()

redBean.taste = "팥"
choux.taste = "슈크림"

redBean.eat()  # 팥 맛이 나요!
choux.eat()  # 슈크림 맛이 나요!

 

 

instance(인스턴스)

class로 붕어빵 기계 틀을 만들었다면

instance는 class로 찍어내는 붕어빵

 

자바스크립트

new 클래스() 이런식으로 사용하던것을

 

파이썬에서는

그냥 클래스() 이렇게 사용한다ㅐ

 

클래스 인스턴스 사용예시

bobby = Human()

# 인스턴스 변수
bobby.name
bobby.age

# 인스턴스 메서드
bobby.exercise()

 

 

클래스 상속

자바스크립트라면 extends를 사용할텐데

 

파이썬에서는 괄호안에 넣어준다

살펴보다

 

클래스 상속 예시 1

# 클래스 상속
# 클래스 Pokemon 클래스 Picachu로 상속받기
class Picachu(Pokemon):
	name = "Picachu"
    hp = 50
    type ="Electric"
    def skill(self):
    	print("10만 볼트!")

 

클래스 상속 예시 2

상속 받은 클래스에서

아무것도 바꾸지 않는다면 pass를 넣어줘야한다

class Pet:
    attr= "cute"
    def cry(self):
        return "멍멍!"
        
class Dog(Pet):
    pass
    
maltese = Dog()

print(maltese.attr, maltese.cry())

 

 

파이썬은 객체 단위로 저장 한다

숫자 1, 2, 3 의 class는 int

'abc'의 class는 str

[1, 2, 3]의 class 는 list

. . .

 

이 말이 무엇이냐하면

리스트 [1, 2, 3]은 list라는 클래스 라는 것

.append() 사용한다는 것은

list의 메서드 append(){}를 사용하고 있었다는 말!

 

 

python by Chris Ried #unsplash