[java] 인터페이스(Interface)

[java] 인터페이스(Interface)

추상메소드의 집합

구현된 것이 전혀 없는 설계도, 껍데기(모든 멤버가 public)

객체생성은 불가하나 참조변수 타입으로는 OK.

*추상클래스(abstract)와 인터페이스의 차이점*

추상클래스는 일반 클래스인데 추상메소드를 갖고 있는 것일 뿐이다.

(변수, 생성자, 일반 메소드도 다 갖고 있다.)

인터페이스는 추상메소드, 상수필드 이외엔 갖고 있는 것이 없다.

따라서 선언부인 'public static final' 과 'public abstract' 가 생략 가능하다!

인터페이스의 상속

인터페이스이 조상은 인터페이스만 가능( Object가 최고 조상X )

) 다중상속 가능(추상메소드는 충돌해도 문제 없다; {몸통}이 없기 때문에 무얼 상속받아도 OK)

implements 키워드로 인터페이스를 구현하다.

다중상속이 가능해서 Mother클래스는 Person클래스를 상속하며 Basic클래스를 구현하는 것이 가능하다.

=> 인터페이스를 구현한다는 것은 추상메소드를 완성한다는 것과 같다.

from http://jjorong-e.tistory.com/44 by ccl(A) rewrite - 2021-10-29 21:01:42