객체
- 객체는 속성(변수)과 동작(메소드)을 가진 하나로 묶음
객체 = 변수 + 함수(메소드)
객체 생성
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")
'AI > Python' 카테고리의 다른 글
[Python] 11-3장 객체 응용(Ball 클래스, TV 클래스 생성 등) (0) | 2023.04.11 |
---|---|
[Python] 11-2장 매직 메소드(__str__()), self, 객체 안의 객체, 상속 (0) | 2023.04.11 |
[Python] 10-3장 파일 입출력 응용(행맨, 파일 안의 문자열 삭제, 빈도수 세기 등) (0) | 2023.04.11 |
[Python] 10-2장 객체 출력(pickle, dump(), load()) (0) | 2023.04.10 |
[Python] 10-1장 파일 다루기(open, close, read, write), 파일 모드(r, w, a, r+) (0) | 2023.04.10 |