파이썬 문법/파이썬 기초 문법

파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 10.클래스(답안)

파기차차 2022. 12. 3. 13:17
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