원-타원 문제

1 개요[ | ]

circle–ellipse problem (또는 square–rectangle problem)
원-타원 문제 (또는 정사각형-직사각형 문제)
  • 객체 모델링 에서 하위 타입 다형성을 사용할 때 발생할 수 있는 함정 중 하나
  • 이 문제는 객체 지향 프로그래밍(OOP)을 적용할 때 가장 일반적으로 발생한다.
  • 원과 타원을 나타내는 클래스 사이에 어떤 하위 타입 또는 상속 관계가 있어야 하는지에 관한 것이다.
  • 본래 정의에 따르면 SOLID 원칙 중 하나인 Liskov 치환 원칙을 위반하게 된다.
  • 보다 일반적으로 파생 클래스에서 발견된 불변을 무효화하여 Liskov 치환 원칙을 위반할 수 있는 방식으로 객체를 변경하는 메소드를 기본 클래스에 포함할 때 발생할 수 있는 어려움을 보여준다.
  • 이 문제는 때로 객체 지향 프로그래밍을 비판하는 데 사용된다.
  • 또한 계층적 분류 체계를 보편화하기 어려운 경우가 있고, 상황별 분류 시스템이 더 실용적일 수도 있음을 의미한다.

2 같이 보기[ | ]

3 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}