기출문제/정보처리기사

2021년 2회 정보처리기사 기출문제 4번

엉클지니 2025. 3. 20. 17:35

4. 객체지향 기법에서 같은 클래스에 속한 각각의 객체를 의미하는 것은?

 instance         message

method          module

 

 

 

객체지향 기법에서 "같은 클래스에 속한 각각의 객체"를 의미하는 것은 ❶ instance입니다. 이제 이 문제를 자세히 분석하고, 해설을 통해 설명해드리겠습니다.

문제 분석

객체지향 프로그래밍(OOP)에서 중요한 개념 중 하나는 **클래스(class)**와 **객체(object)**입니다. 클래스를 이해하는 데 있어, 객체는 그 클래스에서 생성되는 실체라고 할 수 있습니다.

  • 클래스는 객체를 생성하기 위한 템플릿이나 설계도입니다. 즉, 클래스는 객체가 가질 속성(변수)과 기능(메소드)을 정의합니다.
  • 객체는 클래스에서 정의한 대로 생성된 실제 인스턴스입니다.

따라서 "같은 클래스에 속한 각각의 객체"는 같은 클래스로부터 생성된 개별 객체를 의미합니다. 이 개별 객체를 **instance(인스턴스)**라고 부릅니다.

해설

각각의 선택지에 대해 살펴보겠습니다:

  1. ❶ instance (정답)
    • "인스턴스"는 객체지향에서 클래스의 실체화된 개별 객체를 의미합니다. 즉, 같은 클래스에서 생성된 각각의 객체는 인스턴스라고 합니다. 예를 들어, 사람 클래스를 정의하면, 홍길동, 김유신 등의 각각의 객체가 바로 인스턴스입니다.
  2. ② message
    • "메시지"는 객체 간에 서로 상호작용할 때 전달되는 정보나 요청을 의미합니다. 객체 간에 메소드 호출 시 주고받는 데이터를 메시지라고 할 수 있습니다. 하지만 이는 객체 자체를 나타내지 않으므로 이번 질문과는 관련이 없습니다.
  3. ③ method
    • "메소드"는 클래스 내부에 정의된 함수입니다. 객체가 수행할 수 있는 행동을 정의하는데, 객체가 메소드를 호출하여 동작을 실행합니다. 예를 들어, 사람 클래스 안에 걷다()라는 메소드가 있을 수 있습니다. 그러나 메소드는 객체를 나타내는 것이 아니라 객체의 행동을 정의하는 것입니다.
  4. ④ module
    • "모듈"은 코드를 모듈화하여 여러 프로그램에서 재사용할 수 있도록 하는 단위입니다. 클래스나 함수 등을 포함할 수 있지만, 객체지향에서 '객체'와는 다른 개념입니다. 모듈은 일반적으로 함수나 클래스를 묶어 놓은 파일 단위로 사용됩니다.

예시 코드

객체지향에서 클래스와 인스턴스를 예시로 들어봅시다.

class Person:
    def __init__(self, name, age):
        self.name = name  # 객체의 속성
        self.age = age    # 객체의 속성

    def greet(self):
        return f"안녕하세요, 저는 {self.name}입니다."

# 객체 생성 (인스턴스화)
person1 = Person("홍길동", 25)
person2 = Person("김유신", 30)

# 인스턴스 메소드 호출
print(person1.greet())  # 안녕하세요, 저는 홍길동입니다.
print(person2.greet())  # 안녕하세요, 저는 김유신입니다.

위 코드에서 person1과 person2는 Person 클래스에서 생성된 인스턴스입니다. 각각의 객체는 같은 클래스로부터 생성되었지만, 개별적으로 속성과 메소드가 달라질 수 있습니다.

결론

  • 같은 클래스에 속한 각각의 객체는 **instance(인스턴스)**입니다.
  • 클래스는 객체를 정의하는 설계도이고, 객체는 그 설계도를 바탕으로 생성된 실체입니다.
  • 문제에서 묻는 "같은 클래스에 속한 각각의 객체"는 바로 인스턴스이므로 ❶ instance가 정답입니다.