상속의 두 가지 개념
is a와 has a
여기서는 is a를 설명
class 멍멍이 { string 멍멍이이름; }
class 뽀삐 { string 이름; int 품종구분값; }
이렇게 두개의 클래스가 있을 경우
class 뽀삐 : 멍멍이 { string 이름; int 품종구분값; }
뽀삐는 멍멍이다.
뽀삐 is a 멍멍이
이런개념이다.
멍멍이[] 멍멍이들 = new 멍멍이[10]; //이런식으로 멍멍이 클래스의 배열을 만들었다고 하면... 멍멍이들[0] = new 뽀삐(); 멍멍이들[1] = new 멍멍이();
이런식으로.. 멍멍이들 배열에는 뽀삐가 들어갈 수 있다
왜 ? 그렇게 만들었으니까..
왜 그렇게 만들었냐하면…
논리적으로 말이 되니까…
뽀삐는 멍멍이니까 멍멍이들에 들어갈 수 있다.
이것이 상속의 is a 관계…
is a 관계가 아닌것도 상속으로 만들어 써도 되긴하는데… 만들다가 논리가 꼬이면 헷갈리고 좀 안좋다..