Python - 문제 미리보기
문제 2048
hard
다음 코드에서 빈칸을 올바르게 채워 OOP의 기본 개념을 구현해주세요:
______ Animal:
def __init__(self, name, species):
self.______ = name
self.species = species
def make_sound(self):
return f"{self.name}이(가) 소리를 냅니다."
# 객체 생성
dog = ______("멍멍이", "강아지")
cat = Animal("야옹이", "고양이")
print(dog.______) # "멍멍이" 출력
print(cat.make_sound()) # "야옹이이(가) 소리를 냅니다." 출력
정답: B
Python 클래스 기본 문법:
1. 클래스 정의:
class Animal: # 'class' 키워드 사용
⦁
class
키워드: 클래스를 정의할 때 사용⦁ 클래스명: 대문자로 시작하는 것이 관례 (PascalCase)
2. 생성자 메서드 (
__init__
):def __init__(self, name, species):
self.name = name # 인스턴스 변수 할당
self.species = species
⦁
__init__
: 객체 생성 시 자동으로 호출되는 생성자⦁
self
: 현재 인스턴스를 가리키는 참조⦁ 인스턴스 변수:
self.속성명
으로 객체의 고유 데이터 저장3. 객체 생성 (인스턴스화):
dog = Animal("멍멍이", "강아지")
⦁ 클래스명(): 새 객체 생성
⦁ 인수 전달:
__init__
메서드의 매개변수에 전달⦁ 변수 할당: 생성된 객체를 변수에 저장
4. 속성 접근:
print(dog.name) # "멍멍이"
⦁ 점 표기법:
객체.속성명
으로 속성에 접근⦁ 인스턴스별 독립성: 각 객체는 자신만의 속성값 보유
완성된 코드:
class Animal:
def __init__(self, name, species):
self.name = name
self.species = species
def make_sound(self):
return f"{self.name}이(가) 소리를 냅니다."
# 객체 생성
dog = Animal("멍멍이", "강아지")
cat = Animal("야옹이", "고양이")
print(dog.name) # "멍멍이"
print(cat.make_sound()) # "야옹이이(가) 소리를 냅니다."
💡 학습 팁
이 문제를 포함한 Python 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.