[컴퓨터시스템응용기술사 제140회 4교시 6번]

4교시 6번 · 25점 · 6문제 중 4문제 선택 · 100분

객체지향 설계에서 코드 재사용을 위해 상속(Inheritance) 대신 조합(Composition)을 권장하는 이유는 무엇이며, 실제 프로젝트 개발 시 상속을 적용할 때 지켜야 할 원칙을 2가지만 설명하시오.

답안 개요 보기

답안 구조

  1. 개요
  2. 상속과 조합의 개념 및 차이
  3. 상속 대신 조합을 권장하는 이유
  4. 상속 적용 시 지켜야 할 원칙
  5. 결론

용어 정의

상속(Inheritance)
기존 클래스의 속성과 행위를 새로운 클래스가 물려받아 재사용하고 확장하는 객체지향 특성으로, 'is-a' 관계를 형성한다.
조합(Composition)
한 클래스가 다른 클래스의 인스턴스를 자신의 필드로 포함하여 기능을 재사용하는 방식으로, 'has-a' 관계를 형성한다.
리스코프 치환 원칙 (LSP)
부모 클래스의 객체 대신 자식 클래스의 객체를 사용해도 프로그램의 기능적 정확성이 유지되어야 한다는 객체지향 설계 원칙이다.

핵심 내용

  • 상속의 강한 결합(Tight Coupling) 문제점
  • 조합의 유연하고 느슨한 결합(Loose Coupling) 장점
  • 상속 계층의 취약한 기본 클래스 문제(Fragile Base Class Problem) 회피
  • 객체 행위 구성의 유연성 증대
  • 리스코프 치환 원칙(LSP) 준수
  • 인터페이스 기반의 계약 우선 설계

AI 작성 답안 개요 · 검수 전 · 채점기준과 기준답안은 공개되지 않습니다. 참고용 개요입니다.

출처: 한국산업인력공단, Q-Net 자료실 · 공공누리 제1유형 · 원문(Q-Net)

신고가 접수됐습니다. 감사합니다.

오류 신고