본문 바로가기

IT 이야기/JAVA

6. 인터페이스


6.1 인터페이스 개요와 인터페이스 정의

"인터페이스" 는 추상 메소드와 상수만으로 구성된 추상 클래스라 할 수 있다.

[Form]
public interface 인터페이스[extends 인터페이스 이름]
{
// 상수선언
// 메소드 선언
}

6.2 인터페이스의 사용

[Form]
[public/final/abstract] class 클래스이름 extends 상위클래스 implements 인터페이스 이름[,인터페이스]
{
// 멤버변수 선언
// 생성자
// 메소드 선언
// 인터페이스에 선언된 모든 메소드를 오버라이딩하여
// 선언하여야 한다.
}

// InterfaceTest.java

interface IStack {
    void push(int item);
    int pop();
}

class FixedStack implements IStack {
    private int stack[];
    private int tos;

    FixedStack(int size) {
      stack = new int[size];
      tos = -1;
    }
    public void push(int item) {
   
    if (tos==stack.length-1)
      System.out.println("Stack Full");
    else
      stack[++tos] = item ;
    }

    public int pop() {
    if ( tos < 0 ) {
      System.out.println("stack empty");
    else
      return stack[tos--];
    }
}

class InterfaceTest {
    public static void main(String args[]) {
      FixedStack mystack1 = new FixedStack(10);
      FixedStack mystack2 = new FixedStack(5);

      for( int i=0 ; i<10 ; i++)
        mystack1.push(i);
      for( int i=0 ; i<5 ; i++)
        mystack2.push(i);

      System.out.println("stack : mystack1");
      for( int i=0;i<10;i++)
      System.out.print(mystack1.pop() + " ");
      System.out.println();
      System.out.println("stack : mystack2");
      for(int i=0;i<5;i++)
      System.out.print(mystack2.pop() + " ");
}
}

6.3 인터페이스의 상속

[Form]
public interface 인터페이스이름 extends 인터페이스이름[,인터페이스 이름,...]
{
    상수선언
    메소드 선언
}
6.4 인터페이스의 참조

interface A {
    int CONS=5;
    public void display(String s);
}

class A1 implements A {
    int a = 10;
    public void display(String s) {
      System.out.println("display 메소드 구현"+s);
}
}

'IT 이야기 > JAVA' 카테고리의 다른 글

8. 다중스레드  (0) 2010.11.11
7. 예외처리  (0) 2010.11.10
5. 상 속  (0) 2010.11.08
4. 클래스  (0) 2010.10.27
failed to creat Java virtual machine  (1) 2010.10.26