공통 요소가 모여있는 곳
주어이다.
한국어: 원숭이가 바나나를 먹는다.
영어: Monkey eats banana.
파이썬 : Monkey.eat("바나나")
→ 클래스는 문장의 맨 앞에 등장하므로 앞글자를 대문자로 작성한다.
타입이다.
공통요소가 있는 것들을 여러 개 선언하면 비효율적이기 때문에, 클래스에 한 번씩만 선언하고 해당 필드를 가져다 쓴다.
대신 해당 필드에 접근하기 위해서는 그 클래스의 타입으로 선언되어야 한다.
class 클래스명:
필드(객체, 메소드)
클래스는 추상적인 개념이고 이 추상적인 개념을 실체화(구체화) 기켜야지만 사용할 수 있다.
따라서 추상적인 개념을 실체화(구체화) 시켜놓은 것을 객체라고 한다.
클래스 | 객체 |
---|---|
자동차 | 엄마차 |
도형 | 세모 |
추상적인 개념을 구체화시키는 작업
객체명 = 클래스명()
class A:
data = 10
//객체로 접근해야할 때는 self를 써서 올바른 주소가 가도록 한다.
def printData(self):
print(self.data)
// 객체가 아닌 클래스로 접근하려고 할때
// 이건 A라는 클래스가 하나이기 때문에 구분할 필요가 없어서 클래스로 바로 접근이 가능하다.
def intro():
print("난 A클래스이다.")
obj1 = A()
obj2 = A()
obj1.data = 20
obj1.printData()
obj2.printData()
##출력값
20
10
class Car:
//여러 메소드에서 공유할 변수 선언(전역변수)
brand = ""
color = ""
price = 0
//__init__은 initialize(초기화)를 뜻함(초기화 목적)
//""과 0이 붙는 이유는 아무 값도 입력하지 않았을 때 에러가 나지 않도록 하기 위함
def __init__(self, brand="", color="", price=0):
self.brand = brand
self.color = color
self.price = price
def engineStart(self):
print(self.brand + "시동 킴")
def engineStop(self):
print(self.brand + "시동 끔")
momCar = Car("Benz", "Yellow", 35000)
fatherCar = Car("BMW", "BLUE", 15000)
myCar = Car()