본문 바로가기
IT/Python Quiz

[Python] 초급 퀴즈20 - 클래스와 객체 (self, init, 메서드)

by Echinacea 2025. 2. 20.
반응형

 

 

🔹 문제 1: 클래스 속성

다음 코드 실행 시 출력 결과를 예측하세요.

class Car:
    wheels = 4

car1 = Car()
car2 = Car()
car1.wheels = 6
print(car2.wheels)

A) 4

B) 6

C) None

D) AttributeError 발생


 

 

🔹 문제 2: __init__() 생성자

다음 코드 실행 시 출력 결과를 예측하세요.

class Person:
    def __init__(self, name):
        self.name = name

p = Person("Alice")
print(p.name)

A) Alice

B) None

C) Error 발생

D) "Person"


 

 

🔹 문제 3: 인스턴스 메서드

다음 코드 실행 시 출력 결과를 예측하세요.

class Counter:
    def __init__(self):
        self.count = 0
    
    def increment(self):
        self.count += 1

c = Counter()
c.increment()
c.increment()
print(c.count)

A) 1

B) 2

C) 0

D) None


 

 

🔹 문제 4: 클래스 메서드와 인스턴스 메서드

다음 코드 실행 시 출력 결과를 예측하세요.

class Example:
    class_var = "Hello"
    
    def __init__(self, value):
        self.instance_var = value

ex = Example("World")
print(ex.class_var, ex.instance_var)

A) "Hello World"

B) "World Hello"

C) "Hello Hello"

D) "World World"


 

 

🔹 문제 5: self의 역할

다음 코드 실행 시 출력 결과를 예측하세요.

class Test:
    def __init__(self, x):
        self.x = x
    
    def show(self):
        print(self.x)

obj = Test(10)
obj.show()

A) 10

B) None

C) Error 발생

D) self


 

 

 

 

 

 

 

 

 

 

 

 

🔹 정답 및 해설

  1. A) 4
    📌 설명: wheels는 클래스 속성이므로 car1의 변경이 car2에 영향을 미치지 않음.
  2. A) Alice
    📌 설명: __init__ 생성자를 통해 name 속성이 Alice로 설정됨.
  3. B) 2
    📌 설명: increment() 메서드를 두 번 호출하여 count 값이 증가함.
  4. A) "Hello World"
    📌 설명: class_var는 클래스 변수이며, instance_var는 인스턴스 변수이므로 각각 Hello와 World를 출력함.
  5. A) 10
    📌 설명: self는 인스턴스 자신을 가리키며, show() 메서드를 통해 x 값을 출력함.

 

반응형

댓글