객체지향1 IS-A 관계와 HAS-A 관계 1. IS-A 'A is B' 와 같이 'A는 B 이다' 라는 관계. 클래스간 관계에서, 한 클래스가 다른 클래스의 파생 클래스, 즉 부모-자식 관계 ex) 사람은 동물이다. 개는 동물이다. 사람과 개 모두 상위 카테고리로 동물을 갖는다. 반대는 성립하지 않음. 동물은 사람이다(x) 동물은 개이다(x) 상속은 두 클래스가 IS-A 관계일때만 하는게 좋다. class Animal { public: int gender; ... } class Human : public Animal { public: int race; ... } 2. HAS-A 어떤 기능을 포함하고 싶은 경우 사용한다 IS-A에는 명백한 상위 - 하위 카테고리가 존재하지만, HAS-A는 그렇지 않다. HAS-A는 하나의 포함관계 ex) 컴퓨터-.. 2023. 11. 5. 이전 1 다음