728x90
반응형
SMALL
728x90
반응형
O 모범 답안
# 10. 클래스
class Person:
name = '홍길동'
def say_hello(self):
print("안녕! 나는 " + self.name, " 입니다.")
# 1) 위와 같은 클래스가 있습니다. 객체를 생성 후 say_hello() 메소드(함수)를 호출하는 명령을 실행해 보세요.
p = Person() # 클래스의 객체 생성
p.say_hello() # 객체의 메소드(함수) 호출
# 안녕! 나는 홍길동 입니다.
class Car:
color = ""
speed = 0
def __init__(self, color, speed): # 생성자
self.color = color
self.speed = speed
def upSpeed(self, value):
self.speed += value
def downSpeed(self, value):
self.speed -= value
def getColor(self):
return self.color
def getSpeed(self):
return self.speed
# 2) 위와 같은 Car클래스가 있습니다. Car클래스의 색상을 'Red', 속도를 30으로 초기화한 객체를 생성해 보세요.
myCar1 = Car("Red", 30)
# 3) 위에서 만든 객체의 upSpeed(30) 메소드를 호출하고 이를 출력해 보세요.
myCar1.upSpeed(30)
print(myCar1.color, myCar1.speed)
# Red 60
# 4) 새로운 Car 객체를 생성하고, 색상을 'Blue', 속도를 60으로 초기화 해보세요. 그리고 새로 생성된 객체의 getColor() 메소드와 getSpeed() 메소드를 호출하여 출력해 보세요.
myCar2 = Car("Blue", 60)
print(myCar2.getColor(), myCar2.getSpeed())
# Blue 60
# 5) 인스턴스 변수와 클래스 변수의 차이를 이해해 보세요.
class Car:
color = ""
speed = 0
count = 0
def __init__(self):
self.speed = 0 # 인스턴스 변수
Car.count += 1 # 클래스 변수
# 클래스 인자 전달 방법
class Person2:
def __init__(self, user, age):
self.user = user
self.age = age
def say_hello2(self, to_name):
print("안녕! " + to_name + " 나는 " + self.user + "이야")
def introduce(self, to_name):
print("안녕! " + to_name + " 나는 " + self.user + " 그리고" + str(self.age) + " 살이야")
yonga = Person2("영아", 20)
sua = Person2("수아", 20)
youjin = Person2("유진", 25)
# 6) 아래 출력시 결과값을 예상해 보세요(실제 명령을 실행하지 말고 일단 예측 후 실행결과와 비교해 보세요.)
sua.say_hello2("보람")
# 안녕! 보람 나는 수아이야
youjin.introduce("진수")
# 안녕! 진수 나는 유진 그리고25 살이야
# 클래스 상속
# 7) 아래에서 Person2 클래스를 상속 받은 Police 클래스를 만들어 보세요.
# () <-- 이 부분을 채워넣어 보세요.
class Police(Person2):
def arrest(self, to_arrest):
print("넌 체포됐다, " + to_arrest)
class Programmer(Person2):
def Program(self, to_Program):
print("다음엔 뭘 만들지? 아 이걸 만들어야 겠다!" + to_Program)
jina = Person2("지나", 17)
sora = Police("소라", 21)
miss = Programmer("미스", 25)
# 8) 아래 출력시 결과값을 예상해 보세요(실제 명령을 실행하지 말고, 일단 예측 후 실행결과와 비교해 보세요.)
jina.introduce("수잔")
# 안녕! 수잔 나는 지나 그리고17 살이야
sora.arrest("길동")
# 넌 체포됐다, 길동
miss.introduce("두산")
# 안녕! 두산 나는 미스 그리고25 살이야
miss.Program("이메일 클라이언트")
# 다음엔 뭘 만들지? 아 이걸 만들어야 겠다!이메일 클라이언트
728x90
반응형
LIST
'파이썬 문법 > 파이썬 기초 문법' 카테고리의 다른 글
파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 11.파일 읽기 쓰기(답안) (0) | 2022.12.04 |
---|---|
파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 11.파일 읽기 쓰기 (0) | 2022.12.04 |
파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 10.클래스 (2) | 2022.12.03 |
파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 9.사용자 정의 함수(답안) (2) | 2022.12.03 |
파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 9.사용자 정의 함수 (0) | 2022.12.03 |