WIPIVERSE

Is-a

‘Is-a’는 객체지향 프로그래밍, 지식표현, 온톨로지 등에서 사용되는 관계 개념으로, 한 개념이 다른 개념의 하위 개념임을 나타낸다. 형식적으로는 두 개념 A와 B에 대해 “A is‑a B”라는 명제 형태로 표현되며, 이는 A가 B의 특성을 모두 갖는 하위 유형(subtype)임을 의미한다.

주요 특징

특성 설명
관계 유형 이진 관계이며, 상위 개념(슈퍼클래스, 슈퍼타입)과 하위 개념(서브클래스, 서브타입)을 연결한다.
전달성 전이성(transitive)이다. A is‑a B이고 B is‑a C이면 A is‑a C가 성립한다.
대칭성 비대칭이다. A is‑a B가 성립해도 B is‑a A는 일반적으로 성립하지 않는다.
반대 관계 ‘has-a’(소유 관계)와 대비된다. ‘has-a’는 구성 관계(aggregation/composition)를 나타낸다.

사용 맥락

  1. 객체지향 프로그래밍(OOP)
    • 클래스 상속 구조에서 서브클래스가 슈퍼클래스의 속성과 메서드를 물려받을 때 “서브클래스 is‑a 슈퍼클래스” 관계가 성립한다. 예: class Dog extends Mammal → “Dog is-a Mammal”.
  2. 형식 의미론 및 온톨로지
    • OWL(Web Ontology Language) 등에서 rdfs:subClassOf 혹은 rdf:type 관계를 통해 ‘is‑a’를 표기한다.
  3. 언어학·시맨틱스
    • 하이퍼니미(상위어)와 히포니미(하위어) 관계를 설명할 때 ‘is‑a’ 관계를 적용한다. 예: “sparrow is-a bird”, “bird is-a animal”.

관련 용어

  • 하이퍼니미 (hypernym) – 상위 개념, ‘is‑a’ 관계의 B에 해당.
  • 히포니미 (hyponym) – 하위 개념, ‘is‑a’ 관계의 A에 해당.
  • 다형성 (polymorphism) – ‘is‑a’ 관계를 기반으로 한 객체의 다형적 사용을 가능하게 함.

참고

‘Is-a’ 관계는 개념 계층 구조를 명시하고, 상속·다형성·지식 재사용 등을 지원하는 기본 메커니즘으로 널리 활용된다. 현재까지 학술 자료와 기술 문서에서 일관되게 정의·사용되고 있는 개념이다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기