기출문제/정보처리기사

2021년 1회 정보처리기사 기출문제 3번

엉클지니 2025. 3. 23. 15:56

3. 객체지향 개념에서 연관된 데이터와 함수를 함께 묶어 외부와 경계를 만들고 필요한 인터페이스만을 밖으로 드러내는 과정은?

메시지(Message)  캡슐화(Encapsulation)

다형성(Polymorphism) 상속(Inheritance)

 

 

 

이 문제는 객체지향 개념에서 연관된 데이터와 함수를 함께 묶어 외부와 경계를 만들고 필요한 인터페이스만을 밖으로 드러내는 과정에 대한 질문입니다. 문제를 쉽게 이해할 수 있도록 분석하고 해설하겠습니다. 😊


문제 분석

객체지향 프로그래밍(OOP)에서는 데이터함수를 **하나의 단위(객체)**로 묶어 관리하는 개념이 중요합니다. 또한, 객체의 내부 구현은 숨기고, 외부에서 접근할 수 있는 인터페이스만 제공하는 것이 핵심입니다. 이러한 개념을 정확히 설명하는 것이 **캡슐화(Encapsulation)**입니다.


각 보기를 살펴봅시다!

메시지(Message)

  • 설명: 객체 간의 메시지 전달은 객체지향에서 중요한 개념입니다. 객체는 다른 객체에 메시지를 보내고, 그에 대한 응답을 받습니다. 그러나 캡슐화와는 다른 개념으로, 메시지 전달은 객체 간의 통신을 나타냅니다.
  • 결론: 메시지는 객체 간의 통신 개념이지, 데이터와 함수의 묶음을 의미하지 않습니다.

캡슐화(Encapsulation)

  • 설명: 캡슐화는 **연관된 데이터(속성)**와 **함수(메서드)**를 하나의 객체로 묶는 과정입니다. 이렇게 묶인 객체는 내부 구현을 숨기고, 외부에 필요한 인터페이스만 제공하여 데이터의 보호와 접근을 관리합니다.
    • 예: 객체의 속성은 외부에서 직접 접근할 수 없고, 메서드를 통해서만 데이터를 변경하거나 가져올 수 있게 합니다.
  • 결론: 캡슐화데이터와 함수를 묶고, 외부와의 경계를 만드는 핵심 개념입니다. 정답입니다! ✅

다형성(Polymorphism)

  • 설명: 다형성같은 이름의 메서드가 다양한 방식으로 동작하도록 하는 개념입니다. 즉, 동일한 메서드가 여러 클래스에서 다르게 구현될 수 있게 합니다. 이는 객체지향에서의 다양한 형태를 지원하는 특성으로, 캡슐화와는 다릅니다.
  • 결론: 다형성메서드의 형태나 동작 방식에 관한 개념이지, 데이터와 함수의 묶음을 다루지 않습니다.

상속(Inheritance)

  • 설명: 상속하위 클래스가 상위 클래스의 속성과 메서드를 상속받아 사용하는 개념입니다. 이를 통해 코드의 재사용성을 높이고, 계층적인 관계를 만듭니다. 그러나 캡슐화와는 다르게 상속데이터와 함수의 묶음보다는 클래스 간의 관계를 다루는 개념입니다.
  • 결론: 상속은 객체 간의 관계를 나타내는 개념이지, 내부 데이터를 감추고 인터페이스를 제공하는 과정은 아닙니다.

결론

객체지향 개념에서 연관된 데이터와 함수를 함께 묶어 외부와 경계를 만들고, 필요한 인터페이스만을 밖으로 드러내는 과정은 바로 **캡슐화(Encapsulation)**입니다.

정답은 **❷ 캡슐화(Encapsulation)**입니다! ✅


요약표

번호 설명 맞는지?

메시지(Message): 객체 간의 통신, 데이터와 함수의 묶음과는 관련 없음 아니오
캡슐화(Encapsulation): 데이터와 함수를 묶고, 외부와 경계를 만드는 과정 맞아요
다형성(Polymorphism): 동일 메서드의 다양한 구현, 데이터와 함수 묶음 아님 아니오
상속(Inheritance): 클래스 간의 관계 설정, 데이터와 함수 묶음 아님 아니오

중요한 포인트 💡

  • 캡슐화는 객체의 내부 구현을 숨기고, 외부에서 필요한 인터페이스만 제공하여 객체를 안전하게 다룰 수 있게 하는 중요한 개념입니다.
  • 다형성상속객체지향 프로그래밍의 또 다른 중요한 개념들이지만, 캡슐화와는 다른 역할을 합니다.

😊