728x90 반응형 상속2 22) 단일상속(single inheritance) 22) 단일상속(single inheritance) 1. 정의 -java는 단일(하나의 부모만 상속) 상속만을 허용한다(C++은 다중상속 허용) 2. 에러 예시 class TvDVD extends Tv, DVD{ //에러. 조상은 하나만 허용됨. … } 3. 왜 쓰면 안될까? Tv클래스에 power() 메서드가 있고, DVD클래스에도 power()메서드가 있으면 TvDVD에서 power메서드 호출 시, 이름이 같아서 둘 중 어디 거를 써야 할지 모르는 상황이 발생한다(충돌) 4. 특징 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 한다. 충돌 문제가 발생하기 때문에 Tv는 상속시키고 DVD는 포함시킨다. 주의할 점은 DVD에 들어있는 메서드 사용 시, TvDVD클래스에서 메서드를 새로 생성해.. 2021. 5. 31. 20)객체지향-클래스 간의 관계-상속(Inheritance) 20) 객체지향-클래스 간의 관계-상속(Inheritance) 1. 정의 -기존의 클래스로 새로운 클래스를 작성하는 것(코드의 재사용) -두 클래스를 부모와 자식의 관계 2. 형식 class 자식클래스 extends 부모클래스 { … } extends: 확장하다(즉, 'Parent를 확장해서 Child를 만들겠다'라는 뜻입니다) 3. 실제 구현 4. 특징 -자손은 '조상'의 모든 멤버를 상속받는다(생성자, 초기화블럭 제외) (‘부모’가 아니라 ‘조상’이라고 쓴 이유는 부모의 부모 즉, 할머니 할아버지 재산까지 상속받기 때문. 선택의 여지도 없고 그냥 주면 다 받아야 함, 얼굴 마음에 안 들어도 어쩔 거야.. 주신대로 물려받아야지) -자손의 멤버 개수는 조상보다 적을 수 없다(=같거나 많다) 5. 예시 조.. 2021. 5. 29. 이전 1 다음 728x90 반응형