Gentle Breeze
[JAVA] Interface 본문
인터페이스는
- 일종의 추상클래스이다.
- 내부엔 메소드 선언만이 가능하다.
- 추상클래스는 선언도 되고, 정의도 된다.
- 기능을 대변하는 역할을 한다.
- 객체생성되지 않는다.
- 변수를 가질수 없다. 내부에 정해지는 변수는 모두 상수로 처리된다.
- 객체나 컴포넌트가 제공하는 서비스를 알리는 역할을 한다.(차후 추가 설명)
- 하위클래스에, 인터페이스에 선언된 메소드를 구현해야한다.
- 타입으로는 사용가능하다.
- 인터페이스의 하위클래스는 여러 인터페이스를 상속받을 수 있으며
다른 클래스를 상속받을 수 있다. (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 |