inflearn logo
강의

Course

Instructor

Java: Understanding Classes and Object-Oriented Programming

인터페이스의 다중상속

766

u18797016

18 asked

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

Answer 0

강사님.. 하단 URL에 있었던 코드들 다운 받거나 공유 부탁 드립니다..

0

15

2

섹션3. 11 회원객체 다이어그램

0

18

1

OCP, DIP과 @Qualifier 어노테이션에 대해서 질문합니다.

0

19

1

노션 접근권

0

19

1

@Version 어노테이션이 붙은 필드는 낙관적 락이든 비관적 락이든 업데이트가 됩니다.

0

19

1

형 이번에 낸 책이랑 강의 내용에 차이가 있어?

1

36

1

형 나 몰래 책내면 모를 줄 알고?

1

30

1

OrderServiceTest 상문주문 테스트 시 update 쿼리 문의

0

21

1

멀티스레드

1

22

2

N+1 관련해서 질문있습니다.

0

37

3

성능 오버헤드

1

28

2

다음 강의는 언제 올려주시는지요?

0

37

2

하단 파일이 열리지 않습니다

0

35

1

ssh-keygen -t rsa -P "" 등 ssh 암호화? 는 하둡에서 필수인가요?

0

28

2

강의 중복 확인 요청

0

26

1

volatile에 대해 질문 있습니다.

2

39

2

Mark and Sweep

1

35

1

20년 4,5회 13번

0

27

2

GC 알고리즘

1

32

2

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

0

579

0

Run() 메서드

0

304

1

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

0

330

1

instanceof 으로 타입 체크시

1

274

1

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

1

239

1