Is-a

is-a(is_a 또는 is a라고도 작성됨)는 객체 지향 프로그래밍 및 디자인을 포함하여 지식 표현 및 온톨로지 구성 요소에서 추상화(예: 타입, 클래스) 간의 하위 관계이다. 여기서 하나의 클래스 A는 다른 클래스 B의 하위 클래스이다(따라서 B는 A의 슈퍼클래스이다). 즉, A의 사양이 B의 사양을 암시하는 경우 타입 A는 타입 B의 하위 타입이다. 즉, A의 사양을 만족하는 객체(또는 클래스)는 B의 사양이 약하기 때문에 B의 사양도 충족한다.

예를 들어, 고양이는 동물이지만 그 반대는 아니다. 모든 고양이는 동물이지만, 모든 동물이 고양이는 아니다. 모든 동물과 관련된 행동은 동물 클래스에 정의되고, 고양이에게만 관련된 행동은 고양이 클래스에 정의된다. 고양이 클래스를 동물 클래스를 '확장'하는 것으로 정의함으로써 모든 고양이는 고양이에 대해 해당 동작을 명시적으로 코딩할 필요 없이 동물에 대해 정의된 동작을 '상속'한다.

 같이 보기 
 상속 (객체 지향 프로그래밍)
 리스코프 치환 원칙
 상하위 관계

 각주 

 출처 
 Ronald J. Brachman; "What IS-A is and isn't. An Analysis of Taxonomic Links in Semantic Networks". IEEE Computer, 16 (10); October 1983
 Jean-Luc Hainaut, Jean-Marc Hick, Vincent Englebert, Jean Henrard, Didier Roland: Understanding Implementations of IS-A Relations. ER 1996: 42-57

분류:객체 지향 프로그래밍
분류:지식 표현
분류:추상