계산기 클래스의 빈칸 완성하기(Chatgpt)

2026. 7. 11. 15:33파이썬

class와 def로 덧셈·곱셈 기능 만들기

1. 문제

다음 Python 코드는 30, 200을 출력한다. 빈칸 (1), (2)에 알맞은 코드를 차례대로 작성하시오.

(  1  ) Calculator:
    (  2  ) add(self, x, y):
        return x + y

    (  2  ) mul(self, x, y):
        return x * y

cal = Calculator()
x = cal.add(10, 20)
y = cal.mul(10, 20)

print(x, y)

출력 결과:

30 200

2. 주요 포인트

이 문제에서는 다음 두 가지를 확인해야 합니다.

① 클래스를 선언하는 키워드

Python에서 클래스를 만들 때는 class 키워드를 사용합니다.

class 클래스이름:

따라서 다음 코드에서 (1)에 들어갈 내용은 class입니다.

class Calculator:

② 메서드를 정의하는 키워드

클래스 안에서 기능을 만들 때는 함수를 정의하는 def 키워드를 사용합니다.

def 메서드이름(self, 매개변수):

따라서 add()와 mul() 앞의 (2)에는 모두 def가 들어갑니다.


3. 빈칸 채우기

빈칸 (1)

(  1  ) Calculator:

Calculator라는 클래스를 선언해야 하므로 class가 들어갑니다.

class Calculator:

빈칸 (2)

(  2  ) add(self, x, y):

add()라는 메서드를 정의해야 하므로 def가 들어갑니다.

def add(self, x, y):

mul()도 메서드이므로 동일하게 def가 들어갑니다.

def mul(self, x, y):

4. 완성된 코드

class Calculator:
    def add(self, x, y):
        return x + y

    def mul(self, x, y):
        return x * y

cal = Calculator()
x = cal.add(10, 20)
y = cal.mul(10, 20)

print(x, y)

5. 풀이

5-1. 클래스 선언

class Calculator:

Calculator라는 이름의 클래스를 만듭니다.

이 클래스 안에는 덧셈을 수행하는 add()와 곱셈을 수행하는 mul()이 정의되어 있습니다.


5-2. 덧셈 메서드

def add(self, x, y):
    return x + y

x와 y를 더한 결과를 반환합니다.

cal.add(10, 20)

계산 결과는 다음과 같습니다.

10 + 20 = 30

따라서 변수 x에는 30이 저장됩니다.

x = 30

5-3. 곱셈 메서드

def mul(self, x, y):
    return x * y

x와 y를 곱한 결과를 반환합니다.

cal.mul(10, 20)

계산 결과는 다음과 같습니다.

10 × 20 = 200

따라서 변수 y에는 200이 저장됩니다.

y = 200

5-4. 객체 생성

cal = Calculator()

Calculator 클래스를 이용해 객체를 생성하고, 그 객체를 변수 cal에 저장합니다.

이후 객체를 통해 클래스 안의 메서드를 호출할 수 있습니다.

cal.add(10, 20)
cal.mul(10, 20)

5-5. 출력문

print(x, y)

현재 변수의 값은 다음과 같습니다.

x = 30
y = 200

print()에 값을 쉼표로 구분해 전달하면 값 사이에 공백이 하나 들어갑니다.


6. 정답

(1) class
(2) def

실행 결과:

30 200

7. 시험에서 주의할 부분

class와 def의 역할을 구분해야 합니다

class Calculator:

class는 클래스 전체를 선언할 때 사용합니다.

def add(self, x, y):

def는 클래스 안에서 메서드를 정의할 때 사용합니다.

self는 메서드의 첫 번째 매개변수입니다

def add(self, x, y):

self는 생성된 객체 자신을 가리킵니다.

메서드를 호출할 때는 self에 값을 직접 전달하지 않습니다.

cal.add(10, 20)

위 호출에서 다음과 같이 연결됩니다.

self → cal 객체
x    → 10
y    → 20

들여쓰기가 중요합니다

add()와 mul()은 Calculator 클래스에 포함되어야 하므로 클래스 내부에 들여쓰기해야 합니다.

class Calculator:
    def add(self, x, y):
        return x + y

8. 시험 풀이 요약

Calculator는 클래스이므로 빈칸 (1)에는 class가 들어갑니다.

add()와 mul()은 클래스 안에서 정의하는 메서드이므로 빈칸 (2)에는 def가 들어갑니다.

add(10, 20)의 결과는 30, mul(10, 20)의 결과는 200입니다.

따라서 정답은 다음과 같습니다.

(1) class
(2) def

출력 결과:

30 200