자바는 기본적으로 클래스에서 다중상속이 불가능하잖아
그걸 메꾸려고 나온게 인터페이스고
인터페이스는 다중 상속받을 수 있고 왜냐면 어차피 구현되어있는애들이 아니니까 같은 이름의 같은 매개변수 받는 메서드들을 동시에 받아도 충돌이 안나서
근데 나중에 java8 인가 이후에 default 메서드가 나오잖아 (인터페이스에서도 구체화할 수 있는 메서드)
그 이유가 이미 만들어진 프로젝트의 인터페이스에 나중에 새로운 메서드를 추가할때
이미 그 인터페이스를 상속받은 다른 구현클래스들에서도 일일히 다 구체화해주는게 귀찮아서
default 메서드가 생긴거로 알고있는데 이건 일단 넘어가고
아무튼 그러면 default 메서드가 같은 인터페이스 여러개를 다중상속을 받는다고하면
다중상속 받는 구현클래스가 결국엔 해당 default 메서드는 뭘써야할지 몰라서 오류가 날거아니야
그래서 오버라이딩해서 어떤 인터페이스의 default 메서드를 사용할지 결정하잖아
근데 이런 방법이 있으면 그냥 일반클래스 상속도 다중상속으로 받고 충돌나는건 걍 어떤 클래스거 받을지 결정하면 되는거아니야?
복잡해져서 안하는건가??
인터페이스가 클래스의 다중상속을 메꾸기 위해 나왔다고? 넌 자바 공부 다시해라
이유중에 일부아니야? 인터페이스가 나온이유중에 다중상속을 위한 이유는 하나도없음? 꼽만주지말고 씨발 제대로 질문에대한 답변이나 쳐해 개틀딱꼰대같은새끼가 씨발 잘못된거면 뭐가 잘못된건지 말을해주던가 씨발틀딱련들은 지가 뭐 좀 더 아는거 나왔다고 꺼드럭대기만하는게 문제지
국비충 인성평균 ㅋㅋ
https://docs.oracle.com/javase/tutorial/java/concepts/interface.html
https://en.wikipedia.org/wiki/Interface_(Java)
인터페이스는
추상화를 통해 수행할 수 있는 행동을 정의하고 묶어내는거임. '인터페이스가 다중상속을 지원한다'지 '다중 상속을 위해 나왔다'가 아님. 이 의미 차이를 모르면 자바 공부 다시해야지
글쓴놈 깨갱하다 쳐발렸누 ㅋㅋ - dc App
인터페이스는 상속받는 모든 넘들의 행동을 통일한다는 거시다 - dc App
그거와 별개로 디폴트메소드나 인터페이스에 상수 선언 가능해진거는 인터페이스 생긴 이유에 반하는거라고 생각함 추상클래스와 인터페이스 사이의 어딘가가 되어버린 느낌