2024 국가직9급 컴퓨터일반 18번 해설 — 파이썬 클래스

정답 ①번출제 쟁점 파이썬 클래스발문 옳은 것 고르기

문제

다음 파이썬 코드는 std 변수에 저장된 각각의 Student 객체에 대해 학생 id 및 국어, 영어 성적의 평균을 출력한다. (가) ~(다)에 들어갈 내용을 바르게 연결한 것은? class Student: def __init__(self, id, kor, eng): self.id = id self.kor = kor self.eng = eng def sum(self): return self.kor + self.eng def avg(self): return (가) std = [ Student("ok", 90, 100), Student("pk", 80, 90), Student("rk", 80, 80) ] for to in (나) : print( (다) ) (가) (나) (다)

  1. self.sum() / 2 std to.id, to.avg() ← 정답
  2. self.sum() / 2 Student Student.id, Student.avg()
  3. sum(self) / 2 std to.id, to.avg(self)
  4. sum(self) / 2 Student Student.id, Student.avg(self)

선지별 해설

self.sum() / 2 std to.id, to.avg()

이 선지 진술은 옳음(O)

인스턴스 메서드 안에서는 self.sum()으로 같은 객체의 합계 메서드를 호출할 수 있다. std의 각 객체를 to로 받아 id와 평균 메서드 결과를 출력하면 된다.

self.sum() / 2 Student Student.id, Student.avg()

이 선지 진술은 틀림(X)

순회 대상은 Student 클래스가 아니라 Student 객체들이 들어 있는 std 리스트여야 한다. id와 avg도 개별 객체 변수인 to를 통해 접근해야 한다.

sum(self) / 2 std to.id, to.avg(self)

이 선지 진술은 틀림(X)

sum(self)는 Student 객체가 반복 가능한 객체가 아니므로 적절하지 않다. 인스턴스 메서드 호출도 to.avg()처럼 self를 자동 전달하게 해야 한다.

sum(self) / 2 Student Student.id, Student.avg(self)

이 선지 진술은 틀림(X)

순회해야 할 대상은 std 리스트이고, 평균 계산은 self.sum() / 2가 맞다. 클래스 이름으로 인스턴스 속성을 직접 출력하는 형태도 올바르지 않다.

핵심 요약 (Q&A)

Q. 2024 국가직9급 컴퓨터일반 18번의 핵심 쟁점은 무엇인가?
A. 2024 국가직9급 컴퓨터일반 18번은 파이썬 클래스에 관한 문항으로, "옳은 것"을 고르는 문제입니다.
Q. 2024 국가직9급 컴퓨터일반 18번의 정답은?
A. 정답은 ①번입니다. 인스턴스 메서드 안에서는 self.sum()으로 같은 객체의 합계 메서드를 호출할 수 있다. std의 각 객체를 to로 받아 id와 평균 메서드 결과를 출력하면 된다.
🧩 프로그래밍 개념·기출 모아보기📄 2024 국가직9급 컴퓨터일반 전체 문항✏️ 이 시험 미니문제 풀기
출처: 2024 국가직9급 컴퓨터일반 기출 (원문 보존)해설 기준: 출제 당시 법령·판례 · 개정 사항은 ⚠️ 표시