Java - 인터페이스 선언

CODEDRAGON Development/Java

반응형



 

Java - 인터페이스 선언

·         인터페이스 내에는 상수 또는 추상 메서드들만 정의가 가능합니다.

·         인터페이스를 사용하기 위해서는 일반 클래스에서 구현(implements) 해야 합니다.

·         일반 클래스에서 "implements"라는 예약어로 특정 인터페이스를 구현하겠다고 명시해야 합니다

·         구현을 명시하게 되면 명시한 인터페이스가 가지는 추상 메서드들은 구현 받은 클래스에서 하나도 빠짐없이 Overriding(재정의)해야 합니다.

·         인터페이스의 모든 필드는 public static final이어야 하며, 모든 메소드는 public abstract이어야 합니다. 하지만 생략할 수도 있습니다. 이렇게 생략된 제한자는 컴파일 자바 컴파일러가 자동으로 추가해 줍니다.



[접근제한] interface [인터페이스명] {

   public static final 상수;

   public abstract 추상메서드;

}

 

 

  



인터페이스의 기본 구성과 구현

인터페이스는 추상 클래스와 마찬가지로 자신이 직접 인스턴스를 생성할 수는 없습니다.

따라서 인터페이스가 포함하고 있는 추상 메소드를 구현해 클래스를 작성해야만 합니다.


class 클래스이름 implements 인터페이스이름 {

}





 

인터페이스 정의 사용 단계

단계

설명

TODO 1

인터페이스 정의

TODO 2

class implements 인터페이스를 구현하고 인터페이스 추상 메소드 구체화

TODO 3

class 객체 생성

TODO 4

객체를 통해 메소드 호출

 

 

//TODO 1: 인터페이스 정의(인터페이스 선언)

interface InterfaceTest {

//상수 또는 추상메서드만 정의 가능

static final int A = 100;

//abstract예약어는 생략 가능!

abstract int getA();

}

 

//TODO 2: class implements구현하고 인터페이스 추상 메소드 구체화

//implements라는 예약어로 인터페이스 구현

public class InterEx05 implements InterfaceTest{

 

//추상메서드 재정의

@Override

public int getA(){

return A;

}

public static void main(String[] args) {

//TODO 3: class 객체 생성

InterEx05 itex1 = new InterEx05();

//TODO 4: 객체를 통해 메소드 호출

System.out.println("getA(): "+itex1.getA());

}

}