AI/Python
[Python] 11-1장 객체 - 생성, 사용, 초기화(__init__() 생성자)
K_EY
2023. 4. 11. 16:48
객체
- 객체는 속성(변수)과 동작(메소드)을 가진 하나로 묶음
객체 = 변수 + 함수(메소드)
객체 생성
1. 클래스(객체의 설계도) 정의
: 객체가 가지고 있는 속성을 변수로 표현, 객체의 동작은 메소드로 정의
class 클래스이름:
# 변수 생성
# 메소드 정의
class Car: # Car라는 이름의 클래스 생성
def drive(self): # drive 메소드 생성
self.speed = 10
2. 객체 생성
인스턴스 = 클래스()
myCar = Car()
3. 속성(변수) 추가
인스턴스.속성 = 값
myCar.speed = 0
myCar.color = "red"
myCar.model = "SUV"
4. 객체의 속성과 메소드 사용
print("자동차의 속도는",myCar.speed) # 자동차의 속도는 0
print("자동차의 색상은",myCar.color) # 자동차의 색상은 red
print("자동차의 모델은",myCar.model) # 자동차의 모델은 SUV
print("자동차를 주행합니다.") # 자동차를 주행합니다.
# 메소드 사용
myCar.drive()
print("자동차의 속도는",myCar.speed) # 자동차의 속도는 10
이미 만들어진 객체 사용
1. 객체 생성
인스턴스 = 클래스()
# turtle 모듈에서 모든 것을 불러오기
from turtle import *
# Turtle 객체 생성
myTurtle = Turtle()
2. 객체의 변수나 메소드 사용
인스턴스.변수
인스턴스.메소드()
myTurtle.forward() # 메소드 호출
객체 초기화(__init__())
- __init__() 생성자
: 객체를 생성할 때 제일 처음으로 들르는 곳
class 클래스이름:
def __init__(self):
self.변수 = 값
self.변수 = 값
class Car:
def __init__(self, speed, color, model):
self.speed = speed
self.color = color
self.model = model
def drive(self):
self.speed = 60
myCar = Car(0, "red", "SUV")
여러 객체 생성
- 하나의 클래스로 여러 객체 생성 가능
- 객체가 가진 데이터는 객체마다 다르게 설정 가능
myCar = Car(0, "red", "SUV")
momCar = Car(0, "white", "A6")
dadCar = Car(0, "black", "520d")