{WIL 3 TIL 21} 인터페이스 (Interface)

YeilieY·2022년 10월 9일

항해99

목록 보기
26/27

인터페이스(Interface) 의 정의

내부의 모든 필드가 public static final 로 정의되고, static 과 
default 메소드 이외의 모든 메소드는 public abstract 로 정의된 
객체지향 프로그래밍의 요소 이다.
그리고 class 라는 키워드 대신 interface 키워드를 사용해 선언한다!!

interface 의 구조

interface Person {
	public static final int p = 3;
    public abstract void pp();
}

  • 인터페이스 내에서 필드와 메소드에 사용할 수 있는 제어자(modifier) 가 확정되어 있으므로 필드와 메소드 앞에 제어자를 생략해도 컴파일러가 자동으로 각각의 제어자를 삽입한다.

인터페이스의 상속

  • 클래스가 클래스를 상속할 때는 extends 키워드를 사용했지만, 클래스가 인터페이스를 상속할 때에는 implements 키워드를 사용한다!

  • 상속에 있어서 인터페이스의 가장 큰 특징은 다중상속이 가능하다는 점이다.
    ( 1개의 클래스가 여러 개의 인터페이스를 상속할 때에는 쉼표(,) 로 구분하여 나열하면 된다.

    클래스에서는 두 부모 클래스에 동일한 이름의 필드,메소드가 존재할 때 이를 내려 
     받게 되면 충돌이 발생하기 때문에 다중상속이 불가능했었지만,
     인터페이스에서는 모든 필드가 public static final 로 정의 되어 있어서 실제 
     데이터값은 각각의 인터페이스 내부에 저장공간이 분리가 되어 있어 공간상 겹치지 
     않아 인터페이스에서는 다중상속이 가능하다!!!

  • class 와 interface 를 동시에 상속하는 경우!

profile
Fun_Dev

0개의 댓글