기출문제/정보처리기사

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

엉클지니 2025. 3. 20. 19:23

15. UML 모델에서 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계로 옳은 것은?

Dependency         Realization

Generalization     Association

 

 

 


🧐 문제 다시 보기

UML 모델에서 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계로 옳은 것은?


✅ 정답: ❷ Realization (실현 관계)

➡️ 이 해설은 시험이나 교재에서 "인터페이스와 구현 관계"를 객체 간 오퍼레이션 수행으로 해석한 경우에 해당합니다.


📘 Realization (실현 관계)란?

  • 인터페이스와 그것을 구현하는 클래스 사이의 관계입니다.
  • 클래스가 인터페이스에 정의된 **오퍼레이션(기능)**을 실제로 구현할 때 사용됩니다.
  • UML에서는 점선 삼각형 화살표 (△────) 로 표현해요.

🔧 예시 코드

// 인터페이스 정의
interface Printer {
    void print(String msg);
}

// 구현 클래스
class HPPrinter implements Printer {
    public void print(String msg) {
        System.out.println("HP: " + msg);
    }
}
  • 여기서 HPPrinter는 Printer 인터페이스가 정의한 오퍼레이션을 수행하도록 지정되었어요.
  • UML적으로 보면:
    👉 **HPPrinter 클래스가 Printer 인터페이스를 실현(Realization)**했다고 해요.

✅ 이 해설의 핵심 포인트

  • UML에서 오퍼레이션을 수행하도록 지정하는 관계
    👉 인터페이스에 정의된 기능을 클래스가 실제로 구현할 때 발생합니다.
  • 따라서 인터페이스 → 구현 클래스의 관계인 Realization을 정답으로 볼 수도 있어요.

🤔 왜 헷갈릴 수 있을까?

구분 Dependency Realization

관계 대상 보통 객체 간 보통 클래스와 인터페이스 간
특징 일시적 사용, 호출 관계 구조 설계 시, 기능 구현 관계
호출 방식 A가 B의 기능을 잠깐 호출 B가 A의 기능(인터페이스)을 구현
시험 의도 객체 간 오퍼레이션 = Dependency가 정답인 경우가 많음 하지만 일부 시험/교재에서는 인터페이스 구현 관계로서 Realization을 정답으로 처리

📝 결론 요약 (2번 정답 기준)

항목 설명

❓ 문제 표현 "오퍼레이션을 수행하도록 지정하는 의미적 관계"
✅ 정답 ❷ Realization (인터페이스를 구현하는 클래스가 기능을 수행하도록 지정됨)
💡 포인트 구조적 설계 수준에서 "누가 어떤 오퍼레이션을 구현할지 지정"하는 관계
🎯 유추 전제 "객체 간"이 아니라 "구조 설계적 관계"로 문제를 해석한 경우 가능

📌 마무리 정리 (한 줄 요약)

인터페이스에 정의된 오퍼레이션을 수행하도록 클래스가 지정된다면, 그것은 UML에서 Realization 관계입니다. 🎯


 

 

반응형