백엔드/Java
[Java] 인터페이스(interface)
an_apricot__
2021. 3. 16. 11:09
추상메소드만 포함된 클래스
상속을 위해 만들어짐
어차피 추상메소드만 쓰이는 곳으로 메소드 앞에 abstract를 붙이지 않아도 됨
추상메소드를 상속받은 클래스에서는 반드시 메소드를 오버라이딩 해야 함
클래스는 단 하나만 상속받을 수 있지만, 인터페이스는 여러 개 상속받을 수 있음
public class Aaa extends Bbb implements Ccc, Ddd {
... (생략) ...
}

생성자가 있지만 abstract 클래스이므로 스스로 new로 객체를 생성할 수 없다.
interface
java.awt.event - interface MouseListner 의 메소드...
마우스리스너 인터페이스를 implements하려면 MouseListner의 모든 메소드를 오버라이딩해야한다.
메소드를 많이 가지고 있는 인터페이스를 가지고 있을 경우, 모든 메소드를 오버라이딩해야하므로 번거롭다
이를 해결하기 위해 미리 오버라이딩해둔 class가 만들어져있다.
단, 클래스는 하나만 상속받을 수 있으므로 이를 유의하여 사용해야한다!!
java.awt - class Frame - setVisible .. 어? 해당 클래스에 없네?.. 그럼 부모 클래스에 가서 찾아볼까?.. 찾아보니.. 있네..!
Methods inherited from class java.awt.Window

java.awt - class Frame의 조상인 Component Class 의 add 메소드 : 컴포넌트를 상속받은 객체들을 모두 파라미터에 넣을 수 있음~~ Component 들어가서 서브클래스로 뭐가 달려있는지 확인해보기