Gentle Breeze

[JAVA] Interface 본문

⑥ PreSTC/JAVA

[JAVA] Interface

재령 2008. 7. 22. 21:35

인터페이스는

   - 일종의 추상클래스이다.

   - 내부엔 메소드 선언만이 가능하다.

   - 추상클래스는 선언도 되고, 정의도 된다.

   - 기능을 대변하는 역할을 한다.

   - 객체생성되지 않는다.

   - 변수를 가질수 없다. 내부에 정해지는 변수는 모두 상수로 처리된다.

   - 객체나 컴포넌트가 제공하는 서비스를 알리는 역할을 한다.(차후 추가 설명)

  - 하위클래스에, 인터페이스에 선언된 메소드를 구현해야한다.

   - 타입으로는 사용가능하다.

   - 인터페이스의 하위클래스는 여러 인터페이스를 상속받을 수 있으며

      다른 클래스를 상속받을 수 있다. (eg : Vector)

 

자바에서는 implements라는 키워드를 사용하여 이를 표현하고 있다.


예)


public interface Transportable {
 public abstract void print();
}


가장 기본적이 interface 이다. interface안에 선언되어진

public abstract void print();  ==  void print();

위 두가지 방법이 모두 interface 안에서는 같다.

interface안에서 method를 선언하게 되면 기본적으로 public abstract 형의 method가 되기 때문이다.


interface MyInterface {
   public abstract void print();
}

class Car implements MyInterface {
   public void print() {         // public 필수. 위의 선언이 public abstract 를 빼도 선언이

                                         // public abstract가 기본으로 들어가기 때문에 (interface이므로)
      System.out.println("Car print()");
   }
}


public class InterfaceTest {
   public static void main(String[] args) {
      MyInterface car = new Car();
      Car car1 = new Car();
      car.print();
      car1.print();
   }
}


interface는 객체로 선언이 되지 않는다. 그러나 class Car가 interface의 하위 클래스이므로

MyInterface car = new Car();
위와 같은 선언은 가능하다

'⑥ PreSTC > JAVA' 카테고리의 다른 글

[JAVA] I/O  (0) 2008.07.22
[JAVA] 정리 <2>  (0) 2008.07.22
[JAVA] abstract class  (0) 2008.07.22
[JAVA] Method Overriding  (0) 2008.07.22
[JAVA] 정리 <1>  (0) 2008.07.22
Comments