Python · 클래스·연습 문제

클래스 상속

문제 설명PROBLEM

클래스 상속

문제

Animal을 상속한 Dog에서 sound 메서드를 오버라이딩해 생성 시 받은 voice를 반환하세요.

구현할 함수

Dog(voice).sound() -> str

입력

JSON 객체 {"voice": 문자열}

입력 파싱과 결과 출력은 숨겨진 I/O 어댑터가 자동으로 처리합니다. 에디터에는 요구된 함수 또는 메서드 구현만 작성하세요.

출력

함수 반환값을 공백 없는 JSON 한 개로 출력합니다.

구현 조건

  • Animal 기반 클래스를 정의하세요.
  • Dog(Animal) 상속을 사용하세요.
  • Dog.sound를 오버라이딩하세요.

공개 테스트

아래 테스트를 각각 독립된 프로세스로 실행합니다. 입력과 기대 출력은 실제 채점 순서와 같습니다.

#이름InputExpected output
1기본 소리{"voice":"멍멍"}"멍멍"
2영문{"voice":"woof"}"woof"
3빈 문자열{"voice":""}""
개념 노트와 실수 포인트

클래스

  • __init__(self, ...) 생성자, self 는 인스턴스 자신.
  • 상속 class B(A), 부모 호출 super().__init__().
  • 오버라이딩: 자식이 같은 이름 메서드 재정의 시 자식 것 우선.
  • ⚠️ 클래스 변수(메서드 밖)는 모든 인스턴스가 공유, 인스턴스 변수(self.x)는 객체마다 따로.