Programming/SWEA

[SWEA 6217].[파이썬 프로그래밍 기초(2) 파이썬의 기본 응용] 5. 객체지향 3

토토모에요 2021. 7. 29. 14:07
728x90
반응형

SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다.

https://swexpertacademy.com/main/main.do

문제 : name 프로퍼티를 가진 Student를 부모 클래스로 major 프로퍼티를 가진 GraduateStudent 자식 클래스를 정의하고 이 클래스의 객체를 다음과 같이 문자열로 출력하는 코드를 작성하십시오.

input

output

이름: 홍길동
이름: 이순신, 전공: 컴퓨터

code

class student:
    def __init__(self, name):
        self.__name=name

    @property
    def name(self):
        return self.__name

    def __repr__(self):
        return '이름: {0}'.format(self.name)

class GraduateStudent(student):
    def __init__(self, name, major):
        super().__init__(name)
        self.__major = major

    @property
    def major(self):
        return self.__major

    def __repr__(self):
        return super().__repr__() + ', 전공: {0}'.format(self.major)

student1=student('홍길동')
student2=GraduateStudent('이순신','컴퓨터')
print(student1)
print(student2)

re 는 출력을 해주는 역할이라고 생각하면 됩니다. 먼저 student클래스를 만들고 인스턴스를 생성, property로 이름을 읽을 수 있게 하고 re 로 이름을 출력해줍니다.
그 후 GraduateStudent는 student클래스를 상속 받은후 초기화해주고 전공을 출력해줍니다.
마지막으로 생성한 메서드로 원하는 학생이름과 전공을 출력해주면 됩니다.

728x90
반응형