기출문제/정보처리기사

2020년 1회,2회(통합) 정보처리기사 기출문제 16번

엉클지니 2025. 4. 11. 16:24

16. 객체지향 기법에서 클래스들 사이의 부분-전체(part-whole)' 관계 또는 부분(is-a-part-of)'의 관계로 설명되는 연관성          을  나타내는 용어는?

    일반화          추상화

    캡슐화           집단화

 

 

이번 문제는 객체지향 기법에서 클래스들 사이의 연관 관계를 묻는 문제입니다.
특히 부분-전체(part-whole) 관계 또는 부분(is-a-part-of) 관계에 대한 연관성을 나타내는 용어를 찾는 문제입니다.


✅ 문제

객체지향 기법에서 클래스들 사이의 ‘부분-전체(part-whole)' 관계 또는 ’부분(is-a-part-of)'의 관계로 설명되는 연관성을 나타내는 용어는?

① 일반화
② 추상화
③ 캡슐화
❹ 집단화


🔍 객체지향 기법에서의 연관성

1. 일반화 (Generalization)

  • 일반화상위 클래스하위 클래스 간의 관계를 나타내며, "is-a" 관계를 설명합니다. 예를 들어, "학생" 클래스는 "사람" 클래스의 하위 클래스로 정의될 수 있으며, 이는 학생은 사람이다라는 상속 관계를 설명하는 것입니다.
  • 하지만, 부분-전체 관계에는 해당되지 않습니다. 이 관계는 주로 집단화와 관련이 있습니다.

2. 추상화 (Abstraction)

  • 추상화는 시스템에서 불필요한 세부 사항을 제거하고 중요한 부분만을 모델링하는 과정입니다. 예를 들어, "차량" 클래스를 차종별로 세분화하기 전에 공통적인 속성을 추상화하여 정의하는 방식입니다.
  • 하지만, 부분-전체 관계와는 관련이 없습니다.

3. 캡슐화 (Encapsulation)

  • 캡슐화는 객체의 상태(데이터)와 동작(메소드)을 하나의 단위로 묶는 객체지향의 기본 개념입니다. 객체의 내부 구현을 숨기고, 외부에서 접근할 수 있는 인터페이스만을 제공하는 방식입니다.
  • 캡슐화는 부분-전체 관계와는 다소 거리가 있습니다.

4. 집단화 (Composition) - 정답

  • 집단화는 클래스 간의 부분-전체 관계를 표현하는 개념입니다. 부분전체에 속하는 관계를 나타내며, "is-a-part-of" 관계로 설명됩니다. 예를 들어, "차량" 클래스가 여러 부분을 가질 수 있는 구조로, 차량 클래스가 엔진, 타이어 등의 부분을 포함하는 관계입니다.
  • 집단화는 부분-전체 관계를 나타내는 연관성을 잘 설명하는 용어입니다.

🧠 용어 정리

용어 설명 예시

일반화 상위 클래스와 하위 클래스 간의 관계를 나타냄 (is-a) "학생"은 "사람"의 하위 클래스
추상화 세부 사항을 제거하고 중요한 속성만을 모델링하는 개념 "차량" 클래스를 추상화하여 공통 속성 정의
캡슐화 객체의 상태동작을 하나로 묶는 개념 자동차 객체의 내부 구현 숨기기
집단화 부분-전체 관계 또는 "is-a-part-of" 관계를 나타내는 개념 "차량"이 여러 부분 (엔진, 타이어)을 포함하는 관계

📘 예시

차량 예시:

  • 차량 클래스는 여러 부분 (예: 엔진, 타이어)을 가질 수 있습니다.
  • 집단화 관계는 차량이라는 전체 클래스가 여러 부분 객체들로 구성되는 형태로, 이를 부분-전체 관계라고 할 수 있습니다.
    이때, **"타이어"**나 **"엔진"**은 차량부분입니다.

🏁 결론 정리

항목 내용

문제 핵심 클래스들 사이의 부분-전체(part-whole) 관계 또는 부분(is-a-part-of) 관계로 설명되는 연관성은 무엇인가?
정답 ❹ 집단화
이유 집단화부분-전체 관계를 설명하는 용어로, "is-a-part-of" 관계를 나타냅니다.

🎯 암기 팁

💡 객체지향에서의 관계 용어 요약

용어 설명 예시

일반화 상위 클래스와 하위 클래스 간의 관계 "학생"은 "사람"의 하위 클래스
추상화 세부 사항을 제거하고 중요한 속성만 모델링 "차량" 클래스를 추상화하여 공통 속성 정의
캡슐화 객체의 상태와 동작을 하나로 묶는 개념 자동차 객체의 내부 구현 숨기기
집단화 부분-전체 관계를 표현하는 개념 "차량" 클래스가 엔진, 타이어를 포함하는 관계

집단화부분-전체 관계를 나타내는 핵심 개념입니다. 객체지향 설계를 할 때, 이 관계를 정확히 이해하고 적용하면 객체 간의 관계를 더 명확하게 정의할 수 있습니다! 😊
궁금한 점이 있으면 언제든지 질문해 주세요!

반응형