inflearn logo
강의

講義

知識共有

Java:クラスの理解とオブジェクト指向プログラミング

인터페이스의 다중상속

803

u18797016

投稿した質問数 18

0

안녕하세요!

강의 잘 듣고 있습니다.

추상 클래스와 인터페이스의 사용 구분을 조금 더 명확히 하고 싶어 구글링을 하다보니,

클래스 상속에서 "다중 상속의 모호성" 때문에 자바에서 다중 상속을 막고 있다는 글을 보게 됐습니다.

여기서 말하는 "다중 상속의 모호성"이란 아래와 같이 car, plane의 클래스에 모두 drive()메서드가 구현돼어 있을 경우 어떤 클래스의 drive를 호출할지 모호하다는 것 입니다.!

class MyVehicle extends car, plane{
	@OVerride
	public void goTo(){
		super.drive();
}

출처 : https://brunch.co.kr/@kd4/6

 

그러면 인터페이스를 다중 상속을 하게 되면, 이러한 문제는 해결이 되는지 궁굼합니다..

 

아래와 같이 두개의 인터페이스가 존재할 때,

interface car {
     void goTo(){}
}

 

interface plane{
     void goTo()
}

 

class MyVehicle implements car, plane{
	@OVerride
	public void goTo(){
		
}

car과 plane을 상속 받을 경우 , car의 추상메서드인 goTo, plane의 추상메서드인 goTo둘다 구현을 해야할텐데, MyVehicle에서 goTo를 하나만 구현해도, 괜찮은건가요?

아니면 다른 방법이 있는지 궁굼합니다.

 

현재 인텔리제이로 코드를 쳐보니, 두개의 클래스 둘다 구현이 완료돼서 문제가 없는 것으로 나오는데, 이유가 무엇인가요?

interface plane{
    void goTo();
}

interface car {
    void goTo();
}

public class MyVehicle implements car, plane{

    @Override
    public void goTo() {
        System.out.println("구현했따우");
    }

    public static void main(String[] args) {
        MyVehicle my = new MyVehicle();
        my.goTo();
    }
}

스크린샷 2023-01-21 오후 4.14.47.png

 

아래는 car, plane클래스 모두 goTo가 구현이 됐다고 표기되는 모습입니다.

스크린샷 2023-01-21 오후 4.15.36.png

감사합니다!

객체지향 java oop

回答 0

다차원 배열 포인터 질문있습니다

0

9

2

이론 파트 재탕

0

17

1

모의고사 5회

0

16

0

12분 10초 func(values, 0, 1)을 넣을 때

0

16

1

재탕문제

0

33

1

재탕문제

0

22

0

파이썬 추가 코드

0

42

1

배열 포인터 출력 표시

0

51

2

포인터 증감 또는 값 증감

0

49

2

배열 포인터 함수 관련

0

45

2

EmailSender 관련 문의

0

45

1

실기 이론 통합 요약본 버전

0

54

2

업캐스팅 3번 문제 예시

0

58

2

구글드라이브 접속 불가

0

50

2

2024년2회15~20

0

40

1

8-2. 단항 연산자 중복 : 전위 ++ 연산자 작성 질문

0

52

1

낙관적락 질문있습니다.

0

43

1

push pop 설명 되어있는 강의가 몇강인가요?

0

48

1

댓글순서부여방식

0

43

1

자식 클래스가 부모 클래스를 캐스팅 할 때,

0

615

0

Run() 메서드

0

347

1

강의에서 보여주시는 PDF 파일은 어디있나요?

0

380

1

instanceof 으로 타입 체크시

1

316

1

클래스 접근 방법의 구분 관련 질문입니다.

1

271

1